Cuando trabajamos con libros de Excel y con proyectos en los que tenemos que utilizar varias hojas, normalmente tendemos a proteger la hoja y también el libro. Utilizamos una contraseña y también ocultamos las hojas para evitar que el usuario pueda modificar o eliminar algún elemento vital para hacer funcionar nuestro trabajo.
Pues bien, resulta que si hacemos todo lo anterior, nos vamos a encontrar con el desagradable resultado de que la macro activada no funciona. Esto se debe a que las hojas están ocultas y además tienen una contraseña para proteger el libro.
El proceso para solventar este problema es básicamente desproteger el libro con la contraseña que se ha puesto, hacer visible la hoja, y ejecutar la macro de nuestro proyecto.
Para finalizar se debe realizar el proceso inverso, es decir, ocultamos la hoja y volvemos a protegerla con contraseña.
Os dejo la macro y espero que os sea de utilidad:
Sub Macro_hoja_oculta()
'Desprotegemos el libro introduciendo la contraseña.
ActiveWorkbook.Unprotect "contraseña"
'hacemos visible la hoja.
Worksheets("Hoja1").Visible = xlSheetVisible
'aquí iría el resto de la macro que queremos ejecutar.
' Pon aquí la macro de tu proyecto
'una vez que acabe el proceso volvemos a seleccionar la hoja.
Sheets("Hoja1").Select
'ocultamos la hoja.
Worksheets("Hoja1").Visible = xlSheetHidden
'volvemos a aplicar la contraseña.
ActiveWorkbook.Protect "contraseña"
End Sub