Обычно гораздо быстрее использовать автофильтр, чем циклы циклов
Приведенный ниже код создает рабочий столбец, затем использует формулу для определения критериев удаления, а затем автофильтр и удаление записей результатов
В рабочую колонку выводится формула
=OR(L1="ABC",AA1<>"DEF")
в строку 1 первого пустого столбца, затем копирует до истинно используемого диапазона. Затем любые ИСТИННЫЕ записи быстро удаляются с помощью автофильтра
Sub QuickKill()
Dim rng1 As Range, rng2 As Range, rng3 As Range
Set rng1 = Cells.Find("*", , xlValues, , xlByColumns, xlPrevious)
Set rng2 = Cells.Find("*", , xlValues, , xlByRows, xlPrevious)
Set rng3 = Range(Cells(rng2.Row, rng1.Column), Cells(1, rng1.Column))
Application.ScreenUpdating = False
Rows(1).Insert
With rng3.Offset(-1, 1).Resize(rng3.Rows.Count + 1, 1)
.FormulaR1C1 = "=OR(RC12=""ABC"",RC27<>""DEF"")"
.AutoFilter Field:=1, Criteria1:="TRUE"
.EntireRow.Delete
On Error Resume Next
'in case all rows have been deleted
.EntireColumn.Delete
On Error GoTo 0
End With
Application.ScreenUpdating = True
End Sub