Я хочу, чтобы выполнить эти функции в следующем порядке:
1. Активировать функцию автоматического фильтра
2. В колонке М, отметьте «депозит обратный» и «пустой»
3. Удалите целые строки для ячейки, содержащие «AQ *», «AI *», «BG» в столбце C. (ПРИМЕЧАНИЕ: * обозначает числа после алфавитов)Удаление строк, если ячейка содержит определенный текст
Я пробовал макросъемку с помощью Автофильтра, но только удалять строки до указанного диапазона (которые могут отличаться, если я использую другой набор данных). VBA согласно ниже.
Есть ли способ EASIER/BETTER для этого?
Цените свою помощь!
Sub Macro4()
'
' Macro4 Macro
'
'
Rows("1:1").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveSheet.Range("$A$1:$N$46437").AutoFilter Field:=13, Criteria1:= _
"=Deposit Reversed", Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$N$46437").AutoFilter Field:=3, Criteria1:=Array(_
"AQ", "AQ01E166N", "AQ01E294N", "AQ01E316N", "AQ01E373N"), Operator:= _
xlFilterValues
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$N$46017").AutoFilter Field:=3, Criteria1:=Array(_
"AI", "AI04_MMRASHI_TWT", "AI04E230N", "AI04E269N", "AI04E323N"), Operator:= _
xlFilterValues
ActiveWindow.SmallScroll Down:=-6
Rows("10236:10236").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$N$45998").AutoFilter Field:=3, Criteria1:=Array(_
"BG", "BG01A004", "BG01H082", "BG01H106N"), Operator:=xlFilterValues
ActiveWindow.SmallScroll Down:=-3
Rows("5:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
End Sub
, что это должны быть BG * или просто BG? – Jeeped
BG (продолжение по номерам - следовательно, я использовал *). То же самое относится к другим критериям поиска – Siti
@ Jeeped: Может быть, проще использовать формулу excel сначала в столбце A (т.е. = LEFT (C2,2). Если это так, то какой лучший VBA для всего процесса? Критерии поиска: AQ, AI, BG – Siti