Macro para ocultar filas si no cumplen condicion

Quisiera que me ayudaran con una macro para ocultar filas si estas no cumplen cierta condición, actualmente ya tengo esta que muestro, pero esta unicamente obedece a la condición que se encuentre en la columna E. Como puedo hacerle para que esta macro funcione también para las columnas F, G y J, que tienen otro condicional.

El condicional en E es: si es >380 se pinte de Rojo.

Por lo tanto en la macro puse que si fuera < que 380 se ocultar para asi nada más mostrar las celdas en rojo.

El condicional en F es: <0 se pinte en rojo.

El condicional en G es: >107 se pinte en rojo.

Quise hacer una que fuera llamando todas las macros pero no me funciono, me aparecieron errores y como que primero verificaba la columna E luego se regresaba para verificar F y asi.

No se veía bien.

Option Explicit
Sub OcultarFilasE()
Dim r As Range
Application.ScreenUpdating = False
ActiveSheet.Unprotect "123"
For Each r In Range("E13:E1448")
If r < 380 Then r.EntireRow.Hidden = Not r.EntireRow.Hidden
Next r
Application.ScreenUpdating = True
ActiveSheet.Protect "123"
End Sub

1 Respuesta

Respuesta
1

Disculpa que me he liado un poco: entonces tenemos que ocultarlas o pintarlas.

-Si solo hay que ocultarlas ¿cuáles son las condiciones para ocultarlas?

solo hay que ocultarlas, un formato condicional ya me las pinta

como decía las celdas de la columna E ocultarse si <380

" " F ocultarse si > 0

" " G ocultarse si <107

las filas que quiero ocultar están desde la 13 hasta 1448

Desde ya muchas gracias por la ayuda.

saludos

Te mando mi solución, con esta macro te ocultará las filas que cumplan esos 3 criterios.

Sub prueba()
For Each celda In Range("e13:e1448")
If celda.Value < 380 And celda.Offset(0, 1).Value > 0 And celda.Offset(0, 2).Value < 107 Then
celda.EntireRow.Hidden = True
End If
Next
End Sub

no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas