Необходимо удалить строки с 1 по 53, но если ячейка H53 в строке 53 содержит часть текста "л/счет:", то строку 53 оставить (удалить только строки с 1 по 52).
В этом макросе искомая фраза ищется в каждой строке:
Макрос 1
Sub Макрос()
Dim i As Long
' Отключение монитора, чтобы ускорить макрос.
' Можно ещё отключить формулы, если их много.
Application.ScreenUpdating = False
' Удаление строк.
For i = 53 To 1 Step -1
If InStr(1, Cells(i, "H").Value, "л/счет:", vbTextCompare) = 0 Then
Rows(i).Delete Shift:=xlUp
End If
Next i
End Sub
В этом макросе искомая фраза ищется только в строке 53:
Макрос 2
Sub Макрос()
' Если в ячейке "H53" есть искомая фраза.
If InStr(1, Range("H53").Value, "л/счет:", vbTextCompare) <> 0 Then
Rows("1:52").Delete
' Если в ячейке "H53" нет искомой фразы.
Else
Rows("1:53").Delete Shift:=xlUp
End If
End Sub
Нужно понимать, что искомая фраза может быть частью другого более длинного слова. Например, если надо найти слово "тер", то будет найдено и слово "компьютер". Данные макросы найдут слово "компьютер" при поиске слова "тер".