2014-11-12

Ocultar o mostrar todas las hojas de un libro de Excel (VBA)

Title En Excel podemos ocultar o mostrar hojas de un libro haciendo clic con el botón secundario sobre la etiqueta de la hoja y seleccionando Ocultar o Mostrar.

También desde la ficha Inicio, en el grupo Celdas, clic en Formato. Bajo Visibilidad, clic en Ocultar y mostrar. y después en Ocultar o mostrar hoja.

Sin embargo ambos métodos presentan varias limitaciones:

  • No se puede mostrar más de una hoja a la vez.
  • Si la hoja tiene asignada la propiedad xlSheetVeryHidden mediante VBA, no se podrá mostrar con ninguno de los dos métodos.

VBA

Para sortear las limitaciones anteriores utilizamos VBA.

Sub MostrarTodasLasHojas()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
    ws.Visible = xlSheetVisible ' O bien = True
    Next ws
End Sub
xlSheetVisible es equivalente a True
xlSheetHidden es equivalente a False
xlSheetVeryHidden para impedir mostrar la hoja con el comando Mostrar. Solamente se puede volver a mostrar mediante VBA.

Sub OcultarTodasLasHojas()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> ActiveSheet.Name Then ' O "Nombre de la hoja"
    ws.Visible = xlSheetHidden ' O bien  = False o = xlSheetVeryHidden
    End If
    Next ws
End Sub
En la subrutina OcultarTodasLasHojas, se puede especificar el nombre de la hoja que mantendrá visible en lugar de ActiveSheet.Name. Como el libro debe contener al menos una hoja visible, establecemos una condición para que no oculte la hoja activa.

Referencias:

2 comentarios:

  1. Tengo un archivo de excel donde se encuentran ocultas todas las pestañas u hojas de trabajo?
    como le hicieron para ocultar todas las hojas, si al parecer eso era imposible.

    alguien me explica

    ResponderEliminar

Nube de datos