¿cómo ocultar/mostrar una hoja usando vba?

Puede utilizar código VBA para ocultar o mostrar una hoja en Excel. Cuando haces clic derecho en la pestaña de la hoja, puedes ver la opción para ocultarla o mostrarla, y lo mismo puedes hacer con un código VBA.

En este artículo veremos algunas de las formas y métodos que podemos utilizar.

Código VBA para ocultar una hoja.

Supongamos que desea ocultar la «Hoja1» del libro activo. En este caso deberías usar un código como este.

 Sheets("Sheet1").Visible = False

En el código anterior, hizo referencia a la Hoja1, utilizó la propiedad visible y la cambió a falsa.

Haz una hoja muy escondida.

Hay otra opción que puede utilizar para crear una hoja muy oculta que el usuario no puede ocultar fácilmente.

Ocultar una hoja según el valor de una celda

Bien, si desea utilizar un valor de celda en lugar de utilizar directamente el nombre de la hoja en el código, puede consultar esta celda.

 Sheets(Range("A1").Value).Visible = True

Este código hace referencia a la celda A1 y utiliza el valor allí para hacer referencia a la hoja que desea ocultar.

Enlaces útiles: Ejecutar una macroGrabador de macrosEditor de Visual BasicManual de macros personales

Revisa la hoja antes de esconderla.

También puedes usar un pequeño código como este para verificar la hoja cuyas salidas deseas ocultar o no.

 Sub vba_hide_sheet() Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If sht.Name = "Sheet1" Then sht.Visible = False Exit Sub End If Next sht MsgBox "Sheet not found", vbCritical, "Error" End Sub

El código anterior utiliza FOR EACH LOOP + IF STATEMENT para recorrer cada hoja del libro. Y marca la hoja que quieres ocultar.

Ocultar todas las hojas (excepto ActiveSheet)

Ahora hay una cosa que debes entender: no puedes ocultar todas las hojas. Debe haber una hoja visible todo el tiempo.

 Sub vba_hide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ActiveSheet.Name <> ws.Name Then ws.Visible = False End If Next ws End Sub

El código anterior recorre todas las hojas del libro, luego hace coincidir el nombre de cada hoja con el nombre de la hoja activa y lo oculta si no coincide.

Código VBA para mostrar una hoja.

Para mostrar una hoja, debe cambiar la propiedad visible a VERDADERO.

 Sheets("Sheet1").Visible = False

Si la hoja que desea mostrar ya está visible, este código no mostrará ningún error. Pero si esta hoja no existe, obtendrá un error de ejecución ‘9’.

código-vba-para-mostrar-una-hoja

Utilice VBA para mostrar todas las hojas ocultas

Imagina que tienes varias hojas ocultas en un libro y si quieres ocultarlas manualmente, debes hacerlo una por una.

Pero aquí está el código que hace esto de una sola vez.

 Sub vba_unhide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Visible = False Then ws.Visible = True End If Next ws End Sub

Revisa cada hoja y la desenmascara.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *