



Necesitas ocultar hojas de Excel de manera segura, evitando que el usuario pueda mostrarla para consultar o editar la información.
Mediante la propiedad de la hoja en Visual Basic "xlVeryHidden" podemos hacer que la hoja sea muy oculta.

Ir a la hoja del libro que deseamos ocultar. En nuestro caso Hoja2.
Ir a Cinta de Opciones
Pestaña: Programador o Diseñador (Según versión de Excel)
Grupo: Controles
Propiedades. Mostrara el panel de propiedades del editor Visual Basic.
Ir a la propiedad: Visible
Seleccionar la opción: 2 – xlSheetVeryHidden.
Ir a la barra de etiquetas de hoja y verificar como no se muestra la Hoja2.
Repetir el proceso para el resto de hojas deseadas.
Para mayor seguridad y evitar que el usuario pueda mostrar u ocultar hojas desde el editor de Visual Basic, podemos:
- Bloquear el proyecto.
- Aplicar contraseña para ver las propiedades del proyecto.
También podemos ocultar hojas de Excel de manera segura, mediante una macro de código VBA:
Sub OcultaHoja()
Sheets("Hoja2").Visible = xlVeryHidden
End Sub
HOJA OCULTA
Ir a: Cinta de opciones
pestaña: Inicio
Grupo: Celdas
Formato
Visibilidad
Ocultar y mostrar
Mostrar hoja; O también, Ir a : Barra de etiquetas de hojas
Botón derecho del ratón
Mostrar. Verificar como se muestra la opción desactivada, para que el usuario no pueda mostrar la hoja oculta.
MOSTRAR HOJA OCULTA
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir al Panel Explorador de proyectos, si no está visible pulsar el atajo de teclado Ctrl + R.
Clic sobre el elemento Hoja2. O la hoja oculta deseada.
Ir a Panel de propiedades.
Ir a la propiedad: Visible
Seleccionar la opción: -1 – xlSheetVisible.
Ir a la barra de etiquetas de hoja y verificar como se muestra la hoja oculta Hoja2.
También podemos mostrar hojas ocultas de Excel, de manera segura, mediante una macro de código VBA:
Sub OcultaHoja()
Sheets("Hoja2").Visible = True
End Sub

Buen Día,
Estoy realizando una matriz de seguimiento y necesito ocultar pestaña, sin que exista posibilidad de que se pueda ver la información.
Ya lo hice por xlVeryHidden con macro y clave desde las propiedades de VBA, pero aun asi lo estan abriendo...
Hola Fernando,
Puedes proteger la macro.
Y después protege el libro.
Saludos.
buenas noches,
En mi caso oculto las hojas via macro con procedimiento beforeclose, cierro el archivo con las hojas ocultas y cuando lo abro y ejecuto otra macro para mostrarlas me da error en el metodo "visible" del objeto "_Worksheet".
Que podria estar fallando?
Gracias por su atencion
Hola Alberto,
Sin ver el código es difícil identificarlo. Pero no entiendo la finalidad de ocultar las hojas al cerrar si cuando abres el libro las vas a mostrar???
Saludos.
En mi caso sucede que muchas veces el archivo con macros se abre con las macros deshabilitadas.
Como el ingreso es mediante usuario y código a través de macros, al abrirse con macros deshabilitadas, cualquiera podría explorar el contenido del archivo.
Hola Nicolás,
No se exactamente tus necesidades.
1. Las macros se pueden abrir según la seguridad de macros en el equipo.
2. Si deseas que no se muestre el código de la macro: Barra menú / Herramientas / Propiedades Proyecto VBA / Pestaña: Protección.
3. Si deseas proteger el libro: Pestaña Archivo / Información / Proteger libro / Cifrar con contraseña.
Saludos.
en mi caso al ocultar las hojas dejan de funcionar las macros.
Hola Natalia,
En la macro puedes mostrar u ocultar la hoja durante el proceso de ejecución de la macro.,
Saludos.
Hola, buen día, una pregunta:
¿como puedo ocultar la(s) etiqueta(s) de las hojas de cálculo?
Nota: no pretendo ocultar la(s) hoja(s) de cálculo, sino solo las etiquetas, es decir, lo único que quiero ocultar es donde dice: \Hoja1/\Hoja2/\Hoja3/
Hola Oscar,
Desde Pestaña: Archivo / Opciones.
Categoría: Avanzadas / Ir a: Mostrar Opciones para este libro / Desactivar la opción: Mostrar pestaña de hojas.
Saludos.
Hola, he creado un formulario de entrada de almacén, es muy simple, grabando una macro, copiando desde una hoja hacia una base de datos. El problema surge cuando oculto la hoja de la base de datos, la macro no corre y abre el depurador, si visualizo la hoja base de datos funciona correctamente.
Hola Gabriel,
En tu macro la puedes decir que la hoja está oculta y pasar los datos. O mostrarla operar con los datos y volver a ocultarla automáticamente...
Saludos.
Gracias, pero cual sería el procedimiento? Esta es mi macro: la hoja que quiero ocultar es "BD"
Sub ALG1()
Application.ScreenUpdating = False
'
' ALG1 Macro
'
'
Range("C7:H16").Select
Selection.Copy
Sheets("BD").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("SOLICITUD ALG").Select
Range("F4:H4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("BD").Select
Range("G2:I11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J2").Select
Sheets("SOLICITUD ALG").Select
Range("C4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("BD").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J3:J11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Rows("2:12").Select
Selection.RowHeight = 12.75
Range("A2").Select
Sheets("SOLICITUD ALG").Select
MsgBox ("¡Entrada Correcta!")
CLEARALG1
End Sub
Hola Gabriel,
Escribre: Sheets("BD").Visible = True antes de Sheets("BD").Select
y al final del código: Sheets("BD").Visible = False
Saludos
Listo! quedó excelente. Gracias por su ayuda y les felicito por excelente blog. lo seguiré explorando y recomendando.
Gracias!
Hola, muchas gracias por el aporte.
Estuve leyendo que este bloqueo es facil de eliminar, haciendo uso de .ZIP y bloc de notas para eliminar la configuracion hidden de la hoja o libro, sabes de eso? Existe una forma de bloquear esta falla de seguridad?
Gracias de nuevo.
Hola Jonatan,
Lo que comentas es cierto pero en la versión Excel 2007, en las posteriores ya no es posible. Se renombraba la extensión del archivo .xlsx por .zip y se descomprimía para mostrar las carpetas y archivos que estaba formado.
Saludos
Hola,
Necesito ocultar hojas de un fichero Excel pero que se muestren al poner una contraseña a través de una macro en VBA (MgsBox).
¿Es posible?
Gracias!
Muy buena aportación. Una consulta. ¿Cómo le puedo indicar mediante código Vba que me muestre la hoja muy oculta?
Sub NOVA_AUTORITZACIO()
'demanar paraula pas
Dim clave As String
Dim strClave As String
clave = "holaholahola"
strClave = Application.InputBox(Prompt:="Per autoritzar un vehicle contacti amb OS Ext. 12345", Title:="NOMÉS USUARIS AUTORITZATS", Type:=2)
If strClave clave Then
Exit Sub
End If
**** aquí me da el error porqué la hoja USUARIS està muy oculta y no me deja acceder a ella********
Sheets("USUARIS").Select
Ult_Fila = 1
While Cells(Ult_Fila, 1) ""
Ult_Fila = Ult_Fila + 1
Wend
Cells(Ult_Fila, 1).Select
Muchas gracias de antemano.
David
Hola David,
No se a que te refieres con hoja muy oculta.
Pero puedes indicar que muestre la hoja oculta con: Sheets("USUARIS").Visible = True
y al final la puedes ocultar de nuevo: Sheets("USUARIS").Visible = False
Saludos.