Quiero hacer dinámica una macro que oculta filas

Tengo una macro que oculta filas cuando el valor es menor o igual que cero. El problema es que solo lo puedo hacer para un rangon, y no he conseguido hacer esta macro dinámica. Les dejo el código de la macro.

Sub ocultarfilas()

'Macro para ocultar filas que no tengan matriz

Range("D13").Select

For Each celda In Range("D13:D600")

If celda.Value <= 0 Then

ActiveCell.EntireRow.Hidden = True

Else

ActiveCell.EntireRow.Hidden = False

End If

ActiveCell.Offset(1).Select

Next

End Sub

1 Respuesta

Respuesta
3

Cuando dices dinámica, supongo que te refieres a la última fila con datos de la columna D.

Te anexo la macro actualizada

Sub ocultarfilas()
'Act.Por.Dante Amor
    'Macro para ocultar filas que no tengan matriz
    Application.ScreenUpdating = False
    u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    Rows("13:" & u).Hidden = False
    For i = u To 13 Step -1
        If Cells(i, "D").Value <= 0 Then
            Rows(i).Hidden = True
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias!

Exactamente es lo que quería, además colocando el for de abajo hacia arriba optimiza la macro y ahora tarda menos :)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas