Hoja se vuelve visible la momento de exportar

Ante todo gracias por atender mi pedido mi problema es el siguiente tengo un sistema en excel que consta de los siguientes formularios usuario y contraseña, menú principal, nuevo registro, filtrar, eliminar/modificar y exportar datos bueno mi problema es el siguiente puse en la hoja este comando

Application.Visible = False
frm_usuarioycontraseña.Show

para hacer invisble la hoja 

Pero cuando quiero exportar datos, presiono el botón para exportar me abre la ventana para buscar la ubicación y me aparece la hoja acá le muestro una imagen

Y tengo que cerrar el sistema para poder cerrar la hoja y poder seguir trabajando, esto es lo que coloque en el modulo

Sub CopiarYGuardar()
Sheets("Hoja1").Copy
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Close True
End Sub

¿Quisiera qué me puedan ayudar con ese problema por favor ah y una cosa más si se pudiera hay forma de que pueda no solo guardar la hoja 1 si no las 3 hojas? Hoja1, Hoja2 y Hoja3 solo con 1 solo botón espero puedan ayudarme

1 respuesta

Respuesta
1

Te responderé sobre el tema que trata el título de esta consulta... por favor para la parte del guardado deja una nueva en el tablón con su título correspondiente y todas las aclaraciones del caso (si cada hoja va como libro aparte o si un libro contendrá las 3 hojas, etc).

Para trabajar con hojas ocultas lo ideal es justamente ocultar las hojas y no la aplicación.

Por ej, podés tener una hoja llamada 'Inicio' y al abrir la aplicación solo se muestra esa hoja. Cuando necesites hacer visible alguna hoja para poder trabajar en ella, se coloca como primer instrucción la que impide que se muestre o refresque la pantalla, por ej:

Application.ScreenUpdating = False

Sheeta("hoja3").visible = true

Y de ese modo siempre estará la hoja INICIO vacía visible para el usuario.

Entonces, en el evento Open, tendrás estas instrucciones:

Private Sub Workbook_Open()
'x Elsamatilde
'oculta todas las hojas a excepción de Inicio
For Each sh In Sheets
If sh.Name <> "INICIO" Then sh.Visible = xlVeryHidden
Next sh
End Sub

Solo tenés que tener presente estos detalles:

- Contar con una hoja vacía llamada INICIO.

- Colocar la instrucción ScreenUpdating en False cada vez que necesites hacer visible una hoja.

- Volver a ocultar esa hoja una vez finalizado su proceso.

Buenas Noches Sra Elsa espero se encuentre bien y a la vez agradecerle nuevamente por toda la ayuda que me esta brindando y bueno con esta instrucción nunca aparecerá la hoja? es que quiero correr el sistema  de manera de que solo aparezca el formulario y a la vez quisiera mandarle lo que desarrolle con su ayuda para que pueda ver como hice el sistema.

No, nunca se verán tus hojas. El formulario solo se verá sobre una hoja en blanco y nada más.

Sdos!

Pd) enviame tu modelo listo con estos cambios .

Buenos Dias Sra Elsa nuevamente gracias y bueno mi intencion es que  solo aparesca el formulario le envio el sistemita para que pueda verlo gracias

Ya te estaré devolviendo el libro en un momento.

El evento Open queda como te lo envié... más la llamada al UF. Por supuesto que necesitas agregar una hoja a la que llamarás INICIO.

Private Sub Workbook_Open()
'x Elsamatilde
'se ocultan las hojas salvo una inicial
For Each sh In Sheets
    If sh.Name <> "INICIO" Then sh.Visible = xlVeryHidden
Next sh
'Application.Visible = False
frm_usuarioycontraseña.Show
End Sub

Y luego necesitas agregar algunas instrucciones en esta subrutina y en todas las que necesites trabajar con las hojas:

Sub CopiarYGuardar()
'x Elsamatilde
'hacerla visible a la hoja impidiendo que se vea el cambio de pantalla
Application.ScreenUpdating = False
Sheets("Hoja1").Visible = True
Sheets("Hoja1").Copy
'ActiveWorkbook.SaveAs "D:\Epidemiologia\data.xls "
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Close True
'volver a ocultar la hoja
Sheets("Hoja1").Visible = xlVeryHidden
End Sub

Sdos!

Muchas Gracias Sra Elsa se merece muy buena calificación muchas gracias por la ayuda

Te agregué la opción de trabajar en modo invisible... y mi apreciación al respecto ;)

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas