¿Cómo eliminar filas de excel si no cumple una condision en vba?

El tema esta en que quiero el código para eliminal las filas que no cumplan una condición, ejemplo tengo un reporte donde quiero que me borre la fila por completo si en la columna "A" esta en blanco o dice "No aplicable", ¿cuál es el código de vba?

3 respuestas

Respuesta
1

Te anexo la macro

Sub Eliminar_Fila()
'Por Dante Amor
    Application.ScreenUpdating = False
    For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Cells(i, "A").Value = "" Or _
           LCase(Cells(i, "A").Value) = LCase("No aplicable") Then
           Rows(i).Delete
        End If
    Next
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda
Respuesta
1

Prueba esta macro hace el borrado de filas en bloques y en base a una ordenación los espacios vacíos los pone hasta el ultimo

Sub eliminar_filas()
r = Range("a" & Rows.Count).End(xlUp).Row
Set DATOS = Range("a1").CurrentRegion.Resize(r)
PALABRA = "NO APLICABLE"
With DATOS
    .Sort key1:=Range(.Columns(1).Address), order1:=xlAscending
    cuenta = WorksheetFunction.CountIf(.Columns(1), PALABRA)
    cuentav = WorksheetFunction.CountBlank(.Columns(1))
    If cuenta = 0 Then GoTo sal
    FILA = WorksheetFunction.Match(PALABRA, .Columns(1), 0)
     .Rows(r - cuentav + 1).Resize(cuentav).EntireRow.Delete
    .Rows(FILA).Resize(cuenta).EntireRow.Delete
End With
Set DATOS = Nothing
sal:
End Sub
Respuesta

El ejemplo

https://youtu.be/v43-X_SNWts

 https://programarexcel.com

https://www.youtube.com/c/programarexcel?sub_confirmation=1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas