Я извлекаю 2 отчета базы данных, которые экспортируются в таблицы Excel. Я должен удалить строки из отчета A на основе данных, которые уже существуют в reportA.
(Пример: если в столбце 5 содержится слово " Pepsi " в любой ячейке этого столбца, удалите всю строку в отчете A)
Я также должен удалить строки из отчета A на основе данных, которые существуют в определенном столбце в reportB. Поэтому, если любая ячейка в определенном столбце reportA содержит точное значение ячейки из определенного столбца в reportB на основе ключевых слов, удалите эту строку в reportA.
(Пример: отфильтруйте любую ячейку в столбце 4 отчетаB, содержащую слово " Coke " или " Sprite ", в reportB есть совпадения "Coke Zero" и "Sprite Shipment" в 2 ячейках в столбце 4. Удалите КАЖДУЮ строку из отчетаA, которая содержит «Ноль кокса» или «Отгрузка спрайта» в столбце 5 отчетаA)
Провел небольшое исследование и придумал скрипт ниже, чтобы хотя бы удалить строки из отчета A.
Sub Clean_Up_Food_Items()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim lo As ListObject
Set lo = Sheet2.ListObjects(1)
lo.Parent.Activate 'Activate sheet that table is on.
lo.AutoFilter.ShowAllData
lo.Range.AutoFilter Field:=5, Criteria1:="Coke*"
Application.DisplayAlerts = False
lo.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
lo.AutoFilter.ShowAllData
lo.Range.AutoFilter Field:=4, Criteria1:="Fanta*"
Application.DisplayAlerts = False
lo.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
lo.AutoFilter.ShowAllData
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Вышеприведенное работает, по крайней мере, для удаления строк на основе данных, которые существуют в reportA, но я не могу понять, как отфильтровать данные на основе reportB для удаления строк в reportA.