Compatibilidad:





En ocasiones tenemos un libro con hojas ocultas y necesitamos mostrar todas las hojas ocultas en Excel.
Mediante una macro, podemos hacer que se muestren todas las hojas de una vez.
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub Muestra_Hojas()
Dim numero As Byte
numero = Sheets.Count
For i = 1 To numero
Sheets(i).Visible = True
NextEnd Sub
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
Ocultar varios hojas del libro y reproducimos la macro para mostrar todas las hojas ocultas.

Mediante la macro, podemos mostrar todas las hojas ocultas de un libro.
Nivel de dificultad:
Excel Experto VBA - Macros

Muy bien... gracias.
Anduvo muy bien... Gracias!
Hola, me presentó un inconveniente en la línea "sheets(i).visible=true", se ha producido el error '1004' en tiempo de ejecución: no se puede asignar la propiedad visible de la clase worksheet.
Hola Carlos,
Revisa el código para que coincida como está escrito, ya que tendrás algo que no coincide.
Saludos.
Hola. A que código se estas refiriendo?
Gracias.
Slds.
Ruben
Hola Ruben,
Al código de la macro, punto 4.
Saludos.
Tienes bloqueada la hoja, por eso no puede asignar la propiedad
Mil gracias, esta perfecto! 🙂 fue de mucha ayuda.
Hola lo intenté, le dí ejecutar y no hace nada, no se que mas hacer.
Saludos y gracias
Hola Jorge,
Revisa que la macro escrita coincide con el mismo texto que el indicado (mayúsculas y minúsculas).
Saludos.
Adicional deben considerar los espacios dentro del la macros
Hola Edgar,
No se a que te refieres con "considerar los espacios dentro del la macros":
a. La macro del post tiene encuenta los espacios entre palabras del nombre de la hoja.
b. Si te refieres a un post con eliminar espacios, existen varios post:
- Post 1.
- Post 2.
Saludos.
Me ha ido perfecto porque tenía un archivo "heredado" con una hoja oculta que no tenía forma de mostrarla y, así, sí lo he conseguido.
Gracias!
Excelente......
Gracias a personas como usted, uno aprende mucho.
Es una lástima que Excel aun no crea en el menú esa opción
Hola Victoria D,
Gracias por el comentario y por seguirnos.
Un saludo.
Buenas tardes, lo intenté y me muestra el depurador ¿este código muestra también las hojas que han sido renombradas? por ejemplo la hoja que necesito mostrar se llama "BDD". Muchas gracias.
Hola Daniel,
Revisa que tu código escrito coincide con el indicado, ya que tienes algo escrito diferente.
Saludos.
Hola, como eliminar esas hojas ocultas que se crean cuando aplicas un filtro? Gracias por tu ayuda.
Hola Eduardo,
Con lo de hojas ocultas, no se a que te refieres, imagino que será filas.
Eliminar las filas, hace que se pierda el origen de datos, por lo que para otro filtro ya no sirve. Tendríamos que tener los datos vinculados al filtro.
Saludos.
Hola me seleeciona la palabra dim
y abajo me indica " se espera final de la instruccion"
que puedo hacer?
Hola Salvador,
El error está en que hay que separar "DIm numero As..." de la primera línea.
Saludos.
hola buenos dias
he escrito el codigo como aparece pero no me funciona
que me falta hacer???
gracias por su pronta ayuda
Hola Jhon,
Revisa el código escrito, que el nombre de la variable "numero" este escrita igual en los tres sitios.
Saludos.
Excelente, funciono perfectamente.
Me dice "Out of memory" (Error7)
Hola Pablo,
Indica que el equipo está sin suficiente memoria. Cierra programas y reinicia el equipo.
Saludos.
Gracias
hola le hice tal cual como lo indicas pero al llegar al punto 3 en insertar aparece inactivo modulos, popr lo tanto no pude seguir para lograr ver las hojas ocultas
Hola Loyda,
Insertar un módulo siempre está permitido, excepto si está dañado el editor de VBA. Revisa algún libro que tenga macros.
Saludos.
Muchas gracias, funciona adecuadamente, explicación clara y sencilla.
Hola escribo el código y me aparece error "6" y al depurar me aparece numero = Sheets.Count
Hola YoliP,
Se produce un desbordamiento cuando se intenta crear una asignación que excede los límites del destino de la asignación. Revisa el código escrito.
Saludos.
excelente ...funciona!!!
excelente muchas gracias 🙂
muy bueno gracias
Comentario para quien aun no lo logro:
Si tu libro aun no muestra las pestañas de las hojas, luego de desbloquearlas como se indica en la explicacion, debes asegurarte de configurar Excel para que muestre las pestañas activando la casilla de verificacion en las Opciones de Excel.
Opciones // Avanzadas // Opciones de Presentacion para este Libro // Mostrar pestañas de hojas
Buen dia
Podrias ayudarme por favor, tengo una macro en fichero protegido y que trabaja con una hoja uculta. Me sale el error 1004, la macro solo se funciona cuando desoculto la hoja. Soy nueva en esto, la macro siempre habia funcionado bien y se daño de la nada. Agradezco quien pueda ayudarme.
Sub copier_coller6_une_seule_ligne_palette()
'
' copiercoller6uneligne Macro
'
ActiveSheet.Unprotect "pass"
Sheets("Import data modifié").Visible = True
Sheets("Formulaire dde").Select
Sheets("Import data modifié").Select
ActiveSheet.Range("$C$2:$AT$12").AutoFilter Field:=1, Criteria1:=""
Range("D3").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Ecran de saisie").Select
Range("D3").Select
Selection.End(xlDown)(2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=6
Sheets("Import data modifié").Select
ActiveWindow.ScrollColumn = 1
ActiveSheet.Range("$C$2:$AT$12").AutoFilter Field:=1
Sheets("Import data modifié").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveSheet.Protect "pass"
End Sub
Hola DeisyC,
El código presenta múltiples anomalias.
- ActiveSheet.Unprotect "pass" Desproteges la hoja activa pero si lo guardas en otra que no sea la que te interesa proteger no es operativo. Indica mejor la hoja concreta.
- ActiveWindow.SelectedSheets.Visible = False / ActiveSheet.Protect "pass" Invierte el orden: primero protege y luego guarda.
Saludos.
Funciona bien, muchas gracias!!
Funcionó perfecto en Excel 2019, en un archivo que tenia demasiadas hojas ocultas.
Muchas Gracias!!!
hooooo.. gracias, gracias mil gracias.. tuve este inconveniente varios dias y con tu apoyo lo solucione.. gracias por compartir tus conocimientos..
Muchas gracias!
¡Muchas gracias por las indicaciones!
Hola buen dia, lo intente y me aparece el error "Unable to seet Visible property of the Worksheet class" el codigo esta exactamente como lo subiste, ¿Me podrias ayudar?
Hola Christopher,
Tienes la hoja o el libro protegido, desprotegelo y ejecuta la macro.
Saludos
Hola excelente aporte. tengo una consulta. Si quiero que solo me muestre una hoja en especifico de varias que tengo oculta como hago para realizar esta acción. Muchas gracias
Hola Yimer,
Aplica la macro:
Sub muestra()
Sheets("Hoja2").Visible = True
End Sub
Donde Hoja2 es la hoja para mostrar.
Saludos.