Macro en hoja1 para visualizar hoja2 con contraseña

Desearía una macro sencillita para poder aperturar-visualizar la hoja2 a través de contraseña. En principio esa hoja2 permanecería oculta porque se abría asignado en eventos: Sheets ("Hoja2"). Visible = xlVeryHidden.

Pregunta dirigida al Sr.Amor

1 respuesta

Respuesta
1

Puedes poner la siguiente macro en los eventos de la Thisworkbook, cuando abras el archivo que te pida el password. Cambia en la macro "abc" por la clave que desees.

Private Sub Workbook_Open()
'Por.Dante Amor
    clave = InputBox("Contraseña")
    If clave = "abc" Then
        Sheets("Hoja2").Visible = True
        Sheets("Hoja2").Select
    End If
End Sub

También sería oportuno que cuando se cierre el libro se vuelva a ocultar la hoja. Agrega la siguiente macro también en los eventos de ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Por.Dante Amor
    Sheets("Hoja2").Visible = xlVeryHidden
    ActiveWorkbook.Save
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook
1. Abre tu libro de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
4. Del lado derecho copia las macros


El problema es que sale la petición de contraseña de la segunda hoja de forma inmediata en la apertura del libro y lo que quiero es trabajar con una de las hojas (la 1) y cuando quiera visualizar la 2 entonces que me pida la contraseña pero no al principio de la apertura del libro. Si aprieto la tecla ESC puedo trabajar con la hoja1 pero no quiero aperturar las 2 hojas cuando se abre el libro. Debería de haber una opción en la hoja1 de forma que cuando pulsase botón de macro fuera entonces cuando me pidiese la contraseña.

Entonces pon la macro en un botón, el botón lo pones en la hoja1

Sub VisualizarHoja()
'Por.Dante Amor
    clave = InputBox("Contraseña")
    If clave = "abc" Then
        Sheets("Hoja2").Visible = True
        Sheets("Hoja2").Select
    End If
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: VisualizarHoja
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Si pulsas el botón de macros, no estás ejecutando ninguna macro, ni activando algún evento.

Para que se active una macro la debes ejecutar presionando un botón, o bien, activando un evento, por ejemplo puedes, activar la macro, cuando modificas una celda.

En conclusión, si entras algún menú no se activa la macro.

¡Gracias! Seguí el paso de insertar un botón para activar las macros ya no desde eventos de workbook_open sino desde un módulo y ahora sí me resulta operativas tanto la de visualizar como la de ocultación en cierre del libro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas