После фильтрации, как выбрать и удалить видимые строки в Excel? - PullRequest
0 голосов
/ 20 ноября 2018
ActiveSheet.Range("$A$1:$O$1464").AutoFilter Field:=7, Criteria1:="promo"
ActiveSheet.Range("$A$1:$O$1464").AutoFilter Field:=12, Criteria1:="="
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp

Я бы хотел выбрать видимые строки после фильтрации.Я прочитал какой-то пост, который использует .SpecialCells (xlCellTypeVisible), но я не уверен, как изменить свой существующий код.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018
'Put after this to your filter code
If Application.WorksheetFunction.Subtotal(3, Range("A1:A1464")) > 1 then
Range("$A$2:$A$1464").EntireRow.Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Delete Shift:=xlUp
else
Msgbox "Criteria not found"
end if
0 голосов
/ 20 ноября 2018

Вы можете сделать это следующим образом (после фильтрации):

' Update: don't select the header
Activesheet.Range("$A$2:$O$1464").SpecialCells(xlCellTypeVisible).Select
Selection.EntireRow.Delete
...