К счастью, для этого есть встроенная функция автофильтра. Допустим, мы начинаем с:
и применяем к нему фильтр:
Sub Macro1()
Columns("A:B").AutoFilter
ActiveSheet.Range("$A$1:$B$8").AutoFilter Field:=2, Criteria1:=">50", Operator:=xlAnd
End Sub
==> Автофильтр имеет свойство Range
, которое позволяет: <== </strong>
Sub Kopy()
Dim rng As Range
Set rng = ActiveSheet.AutoFilter.Range
rng.Copy Sheets("Sheet2").Range("A1")
End Sub
Результат на Sheet2
имеет
- только видимые данные из
Sheet1
- строки заголовка
- не фильтруется
ПРИМЕЧАНИЕ:
Зацикливание не требуется.
Аналогичный подход можно использовать для Tables
.
SpecialCells не требуется.