Альтернативный способ фильтрации циклом for next
Рассмотрим аналогию фильтрации в ООО циклом for next в реализации VBA. В следующем примере мы удалим строки с данными цехов производства и пекарни из файла Реестр документов.
Sub DelStringFor()
'Определяем последнюю заполненную ячейку диапазона (нижнюю границу)
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Указываем первую ячейку, до которой будет работать цикл (без заголовка - 2 ячейка)
FirstRow = 2
' Создаем цикл от последней ячейки до первой
For i = lLastRow To FirstRow Step -1
text1 = Cells(i, 5).Value
' Нам нужно удалить строки содержащие данные цехов производства и пекарни
If Trim(Left(text1, 12)) = "Производство" OR Trim(Left(text1, 7)) = "Пекарня" Then
' Удаляем строки
Rows(i).Delete
' Закрываем условие и цикл
End If
Next i
End Sub
Задача. Удалите из файла Реестр документов циклом строки содержащие ПРОГАС, ПРОБАК, ПРООВ. Не забудьте что для большей надежности оператор Left нужно подкреплять оператором Trim, как в примере выше, т.к. выгруженные из БД отчеты часто содержат лишние пробелы перед данными.
Комментарии
Отправить комментарий