Есть такой макрос, который удаляет строки по найденному значению:
Sub УдалениеСтрокПоУсловию()
Dim ra As Range, delra As Range
Application.ScreenUpdating = False ' отключаем обновление экрана
ТекстДля Поиска = "Local" ' удаляем строки с таким текстом
' перебираем все строки в используемом диапозоне листа
For Each ra In ActiveSheet.UsedRange.Rows
' если в строке найден искомый текст
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
' добавляем строку в дапозон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
' если подходящие строки найдены - удаляем их
If Not delra Is Nothing Then delra.EntireRow.Delete
End Sub
Нужно модернизировать данный макрос, чтобы после поиска и удаления строк по условию, он также удалял 1 строку сверху от найденного.
Sub УдалениеСтрокПоУсловию()
Dim ra As Range, delra As Range
Application.ScreenUpdating = False ' отключаем обновление экрана
ТекстДля Поиска = "Local" ' удаляем строки с таким текстом
' перебираем все строки в используемом диапозоне листа
For Each ra In ActiveSheet.UsedRange.Rows
' если в строке найден искомый текст
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
' добавляем строку в дапозон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
' если подходящие строки найдены - удаляем их
If Not delra Is Nothing Then delra.EntireRow.Delete
End Sub
Нужно модернизировать данный макрос, чтобы после поиска и удаления строк по условию, он также удалял 1 строку сверху от найденного.