Giuardar plantilla con otro nombre

Amigo:
Estoy trabajando en un libro excel (archivo denominado "Plantilla") que contiene varias hojas (algo así como un programa para calcular obras hidráulicas). En la hoja principal tengo el menu y esa hoja se llama "Inicio". Cuando cargo el archivo excel se abre en la hoja "Inicio" y me muestra un formulario el que al llenar con los datos que solicita y hago click en la tecla aceptar esta me lo guarda con otro nombre (el nombre puede ser por ejemplo "Planilla2") y así dejo mi planilla principal intacta y puedo seguir trabajando. Esta es la macro
Private Sub Workbook_Open()
'Al abrir muestra al inicio la hoja denominada "Inicio"
Sheets("Inicio").Activate
UserForm1.Show
End Sub
Mi pregunta es: ¿Cómo hago para que cuando abra el libro (Archivo) "Planilla2", ya no salga el formulario nuevamente?
Como en excel cuando lo abro y al grabar (guardar) y el archivo no tiene nombre, pregunta mediante cuadro de mensaje "Guardar como"
Gracias

1 respuesta

Respuesta
1
De lo que entiendo haces una copia del libro original y por tanto es obvio que te aparezca nuevamente el formulario, de lo que entiendo el formulario está en la hoja "Inicio", por lo que yo incluiría unos códigos luego de guardar con el nuevo nombre el archivo para eliminar la hoja inicio ya que no la necesitas.
Sheets("Inicio").Select
ActiveWindow.SelectedSheets.Delete
Con eso eliminas la hoja inicio y ya no te aparecerá el formulario.
Si necesitas eliminar solo el formulario y no toda la hoja, graba una macro en el nuevo archivo y pégala en tu macro principal para que lo haga siempre que guarde un nuevo archivo.
Si esto responde a tu duda no olvides finalizar la pregunta
La macro que tengo al iniciar el libro plantilla por primera vez, abre el formulario de excel "Guardar como" y le escribo un nombre que yo decida (es arbitrario), una vez que lo creo puedo trabajar en el guardar los cambios y cerrarlo. El punto es que al abrir el libro con el nombre que he creado, ya no me muestre el formulario de excel "Guardar como", ya que es un archivo ya creado. Ojalá me haya explicado.
En el caso que me expones entiendo que necesitas el formulario, pero que en el nuevo libro ya no te pida que lo guardes con otro nombre.
Lo que yo te aconsejaría es que a tu código le aumentes un if que identifique el nombre del archivo original y solo cuando responda a ese nombre pida el reemplazarlo, caso contrario siga las demás instrucciones, por ejemplo:
Sub Revisa_Nombre()
'Si necesitas que haga algo en caso de ser negativa la condición colocas else, si no la dejas que simplemente corra
If ActiveSheet.Parent.Name = "ORIGINAL.xls" Then
Range("A1").Value = "CREAR COPIA"
End If
'En tu caso el programa debe correr el guardar, yo pongo una cosa cualquiera
End Sub
Si esto resuelve tu problema no olvides finalizar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas