Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Mostrar u ocultar filas con Macros

| 6 comentarios

En los siguientes ejemplos veremos como por medio de la propiedad "Hidden"  podremos ocultar filas usando VBA, de similar forma también podríamos proceder a ocultar columnas dentro de la hoja

Ejemplos para mostrar u ocultar filas

Ejemplo 1

En ese sentido podemos ver un simple ejemplo en la hoja 2 en que a través del botón "empezar" se ejecutar la siguiente macro:

Sub ocultarmostrar()

Rows("5:8").EntireRow.Hidden = True

Rows("5:5").EntireRow.Hidden = False

End Sub

En esta macro primero se procede a ocultar las filas 5, 6, 7 y 8, esto es posible al definir la propiedad Hidden con el valor true.

De forma opuesta al colocar Hidden  como false estamos logrando que se muestre la fila 5 en la segunda línea de la macro.

Ejemplo 2

Asimismo en la hoja3 podemos ver se puede ocultar las filas del cuadro a través de los botones macro 1 y macro 2 podemos ocultarlos y devolver a que se observen. 

Sub Macro1()

Rows("4:6").Select

If Selection.EntireRow.Hidden = True Then

Selection.EntireRow.Hidden = False

Else

Selection.EntireRow.Hidden = True

End If

End Sub

Por medio de la Macro1 si el contenido se encuentra oculto pasa a ser mostrado, caso contrario (si esta visible) se pasa a ocultar lo seleccionado. 

La segunda macro funciona de forma similar sobre un conjunto distinto de filas. 

Ocultar filas por condiciones

En la siguiente macro se procede a ocultar solo las filas en las que la columna F tiene el valor "independiente": 

Private Sub CommandButton1_Click()

For a = 2 To 13

If Worksheets("Hoja3").Cells(a, 6).Value = "INDEPENDIENTE" Then

Worksheets("Hoja3").Rows(a).Hidden = True

End If

Next

End Sub

Descargar ejemplo para mostrar u ocultar filas en VBA: Mostrar u ocultar filas con Macros

6 comentarios

  1. Buen día, estoy trabajando en un pproyecto pero mis limitados conocimientos me impiden avanzar, ojala y puedas apoyarme, yo necesito que se me oculte toda la fila 10 cuando el valor de 2 celdas de esa misma fila sea 0, es decir:

    Cuando D10=0 y J10=0 debe ocultarme toda la fila
    Si D10=0 y J10=1 (o Viceversa) entonces no me oculta la fila..

    Mil gracias.

  2. Buenas tardes José Luis,

    Yo creo que se resolvería así:

    if Cells(10,4).Value =0 and Cells(10,10).Value =0 Then

    Rows(10).Hidden = True

    Else

    Rows(10).Hidden = False

    End if

  3. Cómo mostrar filas ocultas, por el método tradicional no se puede gracias

  4. Muchas gracias...

    Me sirvió el ejemplo 2

  5. No se pueden ocultar filas y columnas que contengan listas?

  6. Buenas como se pone para que oculte las filas desde la celda A13 si el valor es menor que la celda B8 pongo esto pero no funciona
    Sub ocultafila()
    Range("A13").Select
    Do While ActiveCell.Value ""
    If ActiveCell.Value < Range("B8") Then
    ActiveCell.EntireRow.Hidden = True
    End If
    ActiveCell.Offset(1, 0).Select
    Loop

    End Sub

    Gracias

Responder a Pablo Enrique Cancelar la respuesta

Los campos requeridos estan marcados con *.