Autofiltr VBA - Jak używać kryteriów autofiltru VBA do filtrowania danych?

Spisie treści

Autofiltr Excel VBA

Autofiltr w języku VBA jest używany jako wyrażenie, a jego składnia jest następująca: Wyrażenie. Autofiltr (Pole, Kryteria 1, Operator, Kryteria 2, Lista rozwijana) wszystkie argumenty są opcjonalne. Filtr jest pomocny w odfiltrowaniu konkretnych danych z ogromnych danych.

Załóżmy, że jesteś zwykłym użytkownikiem, więc filtry Excela nie są dla Ciebie dziwne. Niektóre z narzędzi, których używamy w arkuszu roboczym, są również zintegrowane z VBA, a opcja automatycznego filtrowania jest jednym z ważnych narzędzi dostępnych w VBA. Jak wszyscy wiemy, pod zakładką danych dostępny jest filtr excela.

Korzystając z tej opcji filtru, możemy bawić się danymi. Jeśli masz do czynienia z minimalną ilością danych i uważasz, że opcja autofiltru VBA nie jest tak naprawdę wymagana, możesz nadal korzystać z opcji filtra arkusza.

Jeśli masz do czynienia z ogromną ilością danych, możesz skorzystać z opcji Autofiltru, aby uprościć przebieg procesu.

Składnia funkcji AutoFilter

Autofiltru w Excel VBA można używać z obiektem zakresu. Podobnie jak inne nasze funkcje, to również ma swoją własną składnię.

  • Zakres: zakres to po prostu zakres, w jakim chcesz zastosować filtr.
  • Pole: Pole oznacza, z której kolumny wybranego zakresu chcesz odfiltrować dane. Kolumna będzie liczona od lewej do prawej.

Na przykład, jeśli zakres obejmuje od A1 do D100 i chcesz zastosować filtr dla kolumny D, to numer pola to 4, ponieważ w wybranym zakresie D jest czwartą kolumną.

Kryterium 1: W polu wybrałeś, co chcesz filtrować.

  • Operator: Jeśli chcesz zastosować więcej niż jedno kryterium do filtrowania danych, musimy użyć symboli operatora. Niektóre z kodów operatorów są jak poniżej.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Kryterium 2: Jaka jest druga rzecz, którą chcesz filtrować wraz z Kryterium 1?

  • Widoczne menu rozwijane : Czy chcesz wyświetlić ikonę filtra fop w przefiltrowanej kolumnie. Jeśli chcesz wyświetlić TRUE to argument, jeśli nie FALSE, jest to argument.

Jak zastosować filtr za pomocą Autofiltru VBA? (z przykładem)

Załóżmy poniżej danych, nad którymi pracujesz.

Teraz używając kodu VBA, zastosujemy filtr. Wykonaj poniższe czynności, aby zastosować filtr.

Krok 1: Rozpocznij podprocedurę, nadając nazwę makro.

Kod:

Sub AutoFilter_Example1 () End Sub

Krok 2: Pierwszą rzeczą jest to, w jakim zakresie musimy zastosować filtr. W tym przypadku musimy zastosować zakres od A1 do E25.

Kod:

Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Krok 3: Po wybraniu zakresu zastosuj teraz opcję automatycznego filtrowania.

Kod:

Sub AutoFilter_Example1 () Range („A1: E25”). AutoFilter End Sub

Nie wybieramy żadnych wartości za pomocą autofiltra. Raczej po prostu stosujemy filtr w tym momencie.

Uruchom kod za pomocą klawisza F5 lub ręcznie, wstawi filtr dla wybranego zakresu.

Więc zastosował filtr do danych. Teraz zobaczymy, jak odfiltrować dane.

Przykład 1 - odfiltrowywanie danych za pomocą Autofiltru

Rozważ te same dane z powyższego przykładu. Teraz musimy odfiltrować dział „Finanse” z kolumny dział.

Krok 1: Po zastosowaniu filtru pierwszym argumentem jest wskazanie, z której kolumny filtrujemy dane. W takim przypadku musimy przefiltrować dane z kolumny Dział, więc numer kolumny jeśli 5.

Kod:

Sub AutoFilter_Example1 () Range („A1: E25”). Pole AutoFilter: = 5, End Sub

Krok 2: Kryterium 1 to nic innego jak to, co chcemy odfiltrować z piątej kolumny. Dlatego musimy odfiltrować „Finanse”.

Kod:

Sub AutoFilter_Example1 () Range („A1: E25”). Pole AutoFilter: = 5, Criteria1: = „Finance” End Sub

To wszystko, uruchom ten kod ręcznie lub za pomocą klawisza F5, odfiltruje on tylko „Finanse” z listy.

Przykład 2 - Operator w Autofiltrze

Widzieliśmy, jak filtrować pojedynczą wartość. Teraz zobaczymy, jak filtrować wiele elementów. Załóżmy, że razem z „Finance” chcesz przefiltrować również dział „Sales”, abyśmy mogli to zrobić za pomocą operatorów.

Krok 1: Po zastosowaniu pierwszych kryteriów w następnym argumencie wybierz operator „xlOr”.

Kod:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr End Sub

Step 2: Now, in Criteria 2, mention the value as “Sales.”

Code:

Sub AutoFilter_Example2() Range("A1:E25").AutoFilter Field:=5, Criteria1:="Finance", Operator:=xlOr, Criteria2:="Sales" End Sub

Step 3: Ok, done run this code using the F5 key or manually, it will filter out both “Finance” & “Sales.”

In the Operator argument, I have used “xlOr” this will select both “Finance” & “Sales” under the filter.

Example #3 - Filter Numbers using AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Example4 () With Range ("A1: E25") .AutoFilter Field: = 5, Criteria1: = "Finance" .AutoFilter Field: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "Koniec z końcem Sub

Spowoduje to odfiltrowanie dwóch kolumn.

Uruchom ten kod za pomocą klawisza F5 lub możesz uruchomić go ręcznie.

Rzeczy do zapamiętania

  • Wypróbuj różne kombinacje w obszarze Operator, aby uzyskać wiedzę na temat Autofiltru VBA.
  • Jeśli nie masz pewności, co wpisać, spróbuj użyć rejestratora makr.
  • Jeśli chcesz odfiltrować wartości tekstowe, musisz podać je w cudzysłowach.
  • Użyj instrukcji WITH, aby zastosować więcej niż jeden filtr kolumn.

Interesujące artykuły...