Excel Avanzado

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

Excel Avanzado

Mostrar u ocultar filas con Macros

| 11 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

11 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

  7. Buenas tardes
    Me podrían apoyar, ya que con la siguiente puedo ocultar las filas que su valor sea "0", pero cuando por formula se les da un valor ya no puedo hacer que aparezcan, me podrían apoyar,

    Sub HideRowsByZero()
    'Update 20131107
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each Rng In WorkRng
    If Rng.Value = "0" Then
    Rng.EntireRow.Hidden = True
    End If
    Next
    End Sub

  8. también comentar que esta muy genérico para todas las celdas que contengan "0" oculta la fila, pero solo quisiera que se ocultaran las que en la columna "D" contengan "0" cero.

  9. me encuentro investigando y no he podido encontrar alguna macro que resuelva mi problema deseo ocultar filas(3:200) y columnas(G hasta que encuentre valores) a la vez que cumplan dos criterios que la las oculte cuando estén vacías y cuando contenga una leyenda. con un botón para ejecutarla para ocultarlas y mostrarlas

  10. Hola, necesito ayuda para poder ocultar filas de una hoja, dependiendo del usuario que ingresó, (además de ocultarle otras hojas del libro).
    ejemplo: Juan, empleado, puede ver todas las hojas, pero de la hoja 1 sólo debería poder ver y editar las filas que contengan su nombre (columna A = Usuario/Nombre).

    No logro resolverlo, alguien podría ayudarme?
    gracias

  11. Buen día estimados. Necesito hacer una macro que oculte filas con condicion (valores 0) en rangos discontinuos de filas ej. E9:E15 y E23:E34 y no logro dar con la sintaxis. Agradeceré sugerencias

Deja una respuesta

Los campos requeridos estan marcados con *.