Jak filtrować kolumnę za pomocą vba (z przykładami)
Do filtrowania według kolumn w programie Excel przy użyciu języka VBA możesz użyć następujących metod:
Metoda 1: Filtruj na podstawie wartości kolumny
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
To konkretne makro będzie filtrować zakres A1:C11, aby wyświetlić tylko wiersze, których pierwsza kolumna jest równa wartości komórki F2 .
Metoda 2: Filtrowanie na podstawie wartości wielu kolumn
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
To konkretne makro przefiltruje zakres A1:C11, aby wyświetlić tylko wiersze, których pierwsza kolumna jest równa wartości komórki F2 lub F3 .
Metoda 3: Wyczyść filtry
SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub
To konkretne makro usunie wszystkie filtry z bieżącego arkusza.
Poniższe przykłady pokazują, jak zastosować każdą z tych metod w praktyce.
Przykład 1: Filtrowanie na podstawie wartości kolumny
Załóżmy, że mamy zbiór danych zawierający informacje o różnych koszykarzach i chcemy go przefiltrować tak, aby zawierał tylko te wiersze, których wartość w kolumnie Zespół wynosi A:
W tym celu możemy utworzyć następujące makro:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub
Kiedy uruchomimy to makro, zbiór danych zostanie automatycznie przefiltrowany tak, aby zawierał tylko wiersze, których wartość w kolumnie Zespół jest równa A:
Przykład 2: Filtrowanie na podstawie wartości wielu kolumn
Załóżmy, że chcemy przefiltrować zbiór danych tak, aby zawierał tylko wiersze, których wartość w kolumnie Zespół wynosi A lub C:
W tym celu możemy utworzyć następujące makro:
SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub
Po uruchomieniu tego makra zbiór danych jest automatycznie filtrowany, aby wyświetlić tylko wiersze, których wartość w kolumnie Zespół jest równa A lub C.
Uwaga : Pełną dokumentację metody Autofiltru VBA można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: jak odświeżyć tabele przestawne
VBA: Jak filtrować tabele przestawne
VBA: jak usunąć zduplikowane wartości