VBA AutoFilter - Hvordan bruges VBA AutoFilter Criteria til at filtrere data?

Indholdsfortegnelse

Excel VBA AutoFilter

AutoFilter i VBA bruges som et udtryk, og syntaksen for det som følger Ekspression. Autofilter (felt, kriterium 1, operatør, kriterium 2, dropdown) alle argumenterne er valgfri. Filtret er nyttigt ved filtrering af bestemte data fra de enorme data.

Antag at du er en almindelig bruger, så er excel-filtre ikke en underlig ting for dig. Nogle af de værktøjer, vi bruger i regnearket, er også integreret i VBA, og indstillingen automatisk filter er et af de vigtige værktøjer, der er tilgængelige i VBA. Som vi alle ved, er excel-filter tilgængeligt under datafanen.

Ved hjælp af denne filterindstilling kan vi lege med dataene. Hvis du har at gøre med en minimal mængde data, og hvis du mener, at VBA-autofilter ikke rigtig er påkrævet, kan du fortsætte med at bruge regnearkfilterindstillingen.

Hvis du har at gøre med en enorm mængde data, kan du bruge en Autofilter-mulighed til at forenkle procesflowet.

Syntaks for autofilterfunktion

AutoFilter i Excel VBA kan bruges med et intervalobjekt. Som vores andre funktioner har dette også sin egen syntaks.

  • Område: Område er simpelthen inden for det område, du vil anvende filteret.
  • Felt: Felt betyder fra hvilken kolonne i det område, du har valgt, du vil filtrere dataene ud. En kolonne tælles fra venstre mod højre.

For eksempel, hvis dit interval er fra A1 til D100, og du vil anvende et filter til D-kolonne, er dit feltnummer 4, fordi D i det valgte område er den fjerde kolonne.

Kriterier 1: I feltet har du valgt, hvad du vil filtrere.

  • Operatør: Hvis du vil anvende mere end et kriterium til filtrering af data, skal vi bruge operatørsymboler. Nogle af operatørkoderne er som nedenfor.

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

Kriterier 2: Hvad er den anden ting, du vil filtrere sammen med kriterier 1?

  • Synlig rullemenu: Vil du vise ikonet for filter fop ned i den filtrerede kolonne. Hvis du vil vise SAND er argumentet, hvis ikke FALSK, er argumentet.

Hvordan anvender jeg filter ved hjælp af VBA AutoFilter? (med eksempel)

Antag under de data, du arbejder på.

Nu ved at bruge VBA-kode vil vi anvende filteret. Følg nedenstående trin for at anvende filteret.

Trin 1: Start delproceduren ved at give et navn til makroen.

Kode:

Sub AutoFilter_Example1 () Afslut Sub

Trin 2: Den første ting er i hvilket område vi har brug for at anvende filteret. I dette tilfælde skal vi anvende området fra område A1 til E25.

Kode:

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

Trin 3: Når rækkevidden er valgt, skal du nu anvende den automatiske filterindstilling.

Kode:

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

Vi vælger ikke nogen værdier ved hjælp af et autofilter. Snarere anvender vi bare filteret på dette tidspunkt.

Kør koden ved hjælp af F5-tasten, eller manuelt indsætter den filter for det valgte område.

Så det har anvendt et filter på dataene. Nu ser vi, hvordan vi filtrerer dataene ud.

Eksempel # 1 - Filtrer data ud ved hjælp af AutoFilter

Overvej de samme data fra ovenstående eksempel. Nu skal vi filtrere "Finans" -afdelingen fra afdelingskolonnen.

Trin 1: Når filteret er anvendt, er det første argument at nævne fra hvilken kolonne vi filtrerer dataene. I dette tilfælde skal vi filtrere dataene fra kolonnen Afdeling, så kolonnenummer, hvis 5.

Kode:

Sub AutoFilter_Example1 () Range ("A1: E25"). AutoFilter Field: = 5, End Sub

Trin 2: Kriterier 1 er intet andet end det, vi ønsker at filteret fra 5 th kolonne. Så vi er nødt til at filtrere "Finans" ud.

Kode:

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

Så det er alt, kør denne kode manuelt, eller gennem F5-tasten, den filtrerer kun "Finans" fra listen.

Eksempel # 2 - Operatør i AutoFilter

Vi har set, hvordan man filtrerer den enkelte værdi. Nu vil vi se, hvordan man filtrerer flere elementer. Antag sammen med "Finance", at du også vil filtrere "Salg" -afdelingen, så vi kan gøre dette ved hjælp af operatører.

Trin 1: Når du har anvendt de første kriterier i det næste argument, skal du vælge operatøren som “xlOr.”

Kode:

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 "Afslut med slutunderb

Dette filtrerer to kolonner ud.

Kør denne kode ved hjælp af F5-tasten, eller du kan køre manuelt.

Ting at huske

  • Prøv forskellige kombinationer under Operator for at få viden om VBA AutoFilter.
  • Hvis du ikke er sikker på, hvad du skal sætte i, kan du prøve at bruge makrooptageren.
  • Hvis du vil filtrere tekstværdier ud, skal du angive dem med dobbelt anførselstegn.
  • Brug WITH-sætningen til at anvende mere end et kolonnefilter.

Interessante artikler...