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:

Kolumna filtra VBA na podstawie wartości komórki

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.

Kolumna filtra VBA oparta na wielu kryteriach

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *