• 👏 Bienvenido a nuestra comunidad Excel

    ¿Todavía no estás registrado? 😲

    Registrate gratis aquí y podrás:

    💪 Hacer preguntas a los expertos
    ⬇️ Descargar ejemplos y plantillas
    🏅 
    Acceder a contenidos premium

Bloquear hoja calculo

marianoyana

New member
Tengo un archivo de excel el cual consta de varias hojas de calculo, y lo que quiero es que al usuario que se lo dejo solamente pueda ver la primera. Bien a mi entender tanto el ocultar hojas no sirve pues tiene la opción el otro usuario de verla. Tampoco en Herramientas y ver pues puede volver a variarlas.

Gracias.
 

Adrian

Well-known member
Supongamos que el libro tiene 4 hojas y deseamos que se muestre solo la hoja uno, ponemos los siguientes códigos:

Sub auto_open()
Sheets("Hoja2").Visible = False
Sheets("Hoja3").Visible = False
Sheets("Hoja4").Visible = False
End Sub

y en cada hoja ponemos el siguiente código:

Private Sub Worksheet_Activate()
Sheets("Hoja2").Visible = False
End Sub

Private Sub Worksheet_Activate()
Sheets("Hoja3").Visible = False
End Sub

Private Sub Worksheet_Activate()
Sheets("Hoja3").Visible = False
End Sub

Es decir en el panel izquierdo de VBA doble click a la hoja 2 y poner en código, así­
hasta la hoja 3. No es un módulo es código en cada hoja.

Pero te aclaro que si deshabilitan las macros el usuario puede ver las hojas.

Atte.
 

marianoyana

New member
El problema es que si te vas a Formato - Hoja - Mostrar - te da la opción a que pueda cualquier usuario ver las hojas que están ocultas.
 

Adrian

Well-known member
Te enví­o un xls con macros para que veas códigos, no estan en módulos sino en los objetos hojas y libro.

Atte.
 

ElsaMatilde

New member
Para que no te de la opción Mostrar en el menú Formato, debes reemplazar False por xlVeryHidden. Esto ayuda a que el usuario no vea cuántas otras hojas hay.

Sub auto_open()
Sheets("Hoja2").Visible = xlVeryHidden
Sheets("Hoja3").Visible = xlVeryHidden
Sheets("Hoja4").Visible = xlVeryHidden
End Sub

Saludos, Elsa
 

ivanmolina

New member
Acabo de comprobar que exactamente, funciona lo anterior, es decir, a través de una macro puedo volver a visualizar las hojas ocultadas. Ahora, en la Ayuda de VBA aparecen los comandos XlSheetsVeryHidden, pero luego lo que funciona es XlVeryHidden. ¿Por qué?
 
Arriba