VBA AutoFilter - Hvordan bruker jeg VBA AutoFilter Criteria for å filtrere data?

Innholdsfortegnelse

Excel VBA AutoFilter

AutoFilter i VBA brukes som et uttrykk og syntaksen for det som følger Ekspresjon. Autofilter (Field, Criteria 1, Operator, Criteria 2, Dropdown) alle argumentene er valgfrie. Filteret er nyttig for å filtrere bestemte data fra de enorme dataene.

Anta at du er en vanlig bruker, så excel-filtre er ikke noe rart for deg. Noen av verktøyene vi bruker i regnearket er også integrert i VBA, og alternativet for automatisk filter er et av de viktige verktøyene som er tilgjengelige i VBA. Som vi alle vet, er Excel-filter tilgjengelig under datafanen.

Ved å bruke dette filteralternativet kan vi leke med dataene. Hvis du har å gjøre med en minimal mengde data, og hvis du mener at alternativet VBA autofilter ikke er nødvendig, kan du fortsette å bruke regnearkfilteralternativet.

Hvis du har å gjøre med en enorm mengde data, kan du bruke et alternativ for autofilter for å forenkle prosessflyten.

Syntaks for autofilterfunksjon

AutoFilter i Excel VBA kan brukes med et rekkeviddeobjekt. Som våre andre funksjoner har også denne sin egen syntaks.

  • Område: Rekkevidde er ganske enkelt i hvilket område du vil bruke filteret.
  • Felt: Felt betyr fra hvilken kolonne i området du har valgt du vil filtrere ut dataene. En kolonne telles fra venstre til høyre.

For eksempel, hvis området ditt er fra A1 til D100, og du vil bruke et filter for D-kolonne, er feltnummeret ditt 4 fordi D i det valgte området er den fjerde kolonnen.

Kriterier 1: I feltet har du valgt hva du vil filtrere.

  • Operatør: Hvis du vil bruke mer enn ett kriterium for filtrering av data, må vi bruke operatørsymboler. Noen av operatørkodene er som nedenfor.

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

Kriterier 2: Hva er den andre tingen du vil filtrere sammen med Kriterier 1?

  • Synlig rullegardin: Vil du vise ikonet for filter fop ned i den filtrerte kolonnen. Hvis du vil vise SANT er argumentet, hvis ikke FALSE, er argumentet.

Hvordan bruke filter ved hjelp av VBA AutoFilter? (med eksempel)

Anta under dataene du jobber med.

Nå ved å bruke VBA-kode, vil vi bruke filteret. Følg trinnene nedenfor for å bruke filteret.

Trinn 1: Start delprosedyren ved å gi et navn til makroen.

Kode:

Sub AutoFilter_Example1 () Slutt Sub

Trinn 2: Det første er i hvilket område vi trenger for å bruke filteret. I dette tilfellet må vi bruke området fra område A1 til E25.

Kode:

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

Trinn 3: Når området er valgt, bruk nå alternativet automatisk filter.

Kode:

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

Vi velger ikke noen verdier ved hjelp av et autofilter. Snarere bruker vi bare filteret på dette tidspunktet.

Kjør koden ved hjelp av F5-tasten, eller manuelt, den setter inn filter for det valgte området.

Så det har brukt et filter på dataene. Nå skal vi se hvordan vi kan filtrere ut dataene.

Eksempel # 1 - Filtrer ut data ved hjelp av autofilter

Tenk på de samme dataene fra eksemplet ovenfor. Nå må vi filtrere ut "Finans" -avdelingen fra avdelingskolonnen.

Trinn 1: Etter at filteret er brukt, er det første argumentet å nevne fra hvilken kolonne vi filtrerer dataene. I dette tilfellet må vi filtrere dataene fra avdelingskolonnen, så kolonnenummer hvis 5.

Kode:

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

Trinn 2: Kriterier 1 er bare det vi ønsker å filtrere fra den femte kolonnen. Så vi må filtrere ut "Økonomi".

Kode:

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

Så det er alt, kjør denne koden manuelt, eller gjennom F5-tasten, den vil bare filtrere ut "Finans" fra listen.

Eksempel 2 - Operatør i autofilter

Vi har sett hvordan vi kan filtrere enkeltverdien. Nå skal vi se hvordan vi kan filtrere flere elementer. Anta at sammen med "Økonomi" vil du også filtrere "Salg" -avdelingen, slik at vi kan gjøre dette ved å bruke operatører.

Trinn 1: Etter å ha brukt de første kriteriene i neste argument, velg 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 "Slutt med sluttub

Dette vil filtrere ut to kolonner.

Kjør denne koden ved hjelp av F5-tasten, eller du kan kjøre manuelt.

Ting å huske

  • Prøv forskjellige kombinasjoner under Operator for å få kunnskapen om VBA AutoFilter.
  • Hvis du ikke er sikker på hva du skal legge inn, kan du prøve å bruke makroopptakeren.
  • Hvis du vil filtrere ut tekstverdier, må du oppgi dem med to anførselstegn.
  • Bruk WITH-setningen til å bruke mer enn ett kolonnefilter.

Interessante artikler...