Con frecuencia ocultamos hojas en los libros de Excel que usamos y también con frecuencia tenemos que hacerlas visibles para cambiar algo. Esto es algo tan tedioso cuando lo haces dos veces que para eso creé esta mini-macro que permite ver todas las hojas de un libro de Excel.
La propiedad Visible de una hoja
La propiedad Visible de una hoja en VBA tiene tres posibles atributos:
- xlSheetHidden
- xlSheetVisible
- xlSheetVeryHidden
Estas propiedades son las que usamos para ocultar o ver hojas en Excel mediante VBA.
Una vez que conocemos esta propiedad tan sólo tenemos que saber como usarla. En nuestro caso hemos creado un bucle For Each con todas las hojas
Luego hemos creado un condicional IF en el que se comprueba si la hoja está oculta… y si lo está entonces la mostramos.
Mediante estos dos pedacitos de código bien colocados tendremos nuestra macro para ver todas las hojas de un libro de Excel mediante VBA.
Sub VerHojas() On Error GoTo fin Dim sht As Worksheet Application.ScreenUpdating = False For Each sht In ActiveWorkbook.Worksheets If sht.Visible = xlSheetVeryHidden Then sht.Visible = xlSheetVisible End If Next fin: End Sub
En el código anterior:
- lo primero que escribimos es un control de errores que nos llevará a la etiqueta fin: del final si encontramos un error.
- Después declaramos la variable sht como Worksheet
- Después evitamos que Excel parpadee al ir ejecutando la macro (ver más para evitar que excel parpadee)
- Después ejecutamos el bucle FOR EACH
- Dentro del bucle FOR EACH evaluamos la propiedad visible de cada una de las hojas mediante el condicional IF (aprender más de IF en VBA)