Eliminar fila que no contenga dos valores concretos

Tengo un problema con esta macro.

Lo que preciso hacer es que la macro que no elimine que yo disponga y tampoco las celdas vacías.

Pero también me surge otro problema cuando ejecuto la macro y no encuentra que la información que yo puse para eliminar me da error.

Sub QuitaFilas1()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
'
ActiveSheet.Unprotect
Dim uf&, i&, a, R As Range
    Application.ScreenUpdating = False
    uf = Range("E" & Rows.Count).End(xlUp).Row
    a = Range("E1:E" & uf)
    For i = 20 To UBound(a)
        If a(i, 1) <> "1" Then
            If R Is Nothing Then
                Set R = Range("E" & i)
            Else
                Set R = Union(R, Range("E" & i))
            End If
        End If
    Next i
    R.EntireRow.Delete
    Set R = Nothing: Erase a
    Range("E20").Select
        '
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    ActiveSheet.DisplayPageBreaks = True
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowSorting:=True, AllowFiltering:=True
End Sub

Conclusión si ejecuto la macro y no hay nada para eliminar que no me de error. Podrá ser que se pueda hacer esto?

Añade tu respuesta

Haz clic para o