VBA AutoFilter - Kako uporabiti merila samodejnega filtra VBA za filtriranje podatkov?

Excel VBA AutoFilter

Samodejni filter v VBA se uporablja kot izraz, sintaksa zanj pa kot izraz. Samodejno filtriranje (polje, merila 1, operater, merila 2, spustni meni) vsi argumenti niso obvezni. Filter je koristen pri filtriranju določenih podatkov iz ogromnih podatkov.

Recimo, da ste redni uporabnik, potem filtri excel za vas niso nič čudnega. Nekatera orodja, ki jih uporabljamo na delovnem listu, so prav tako integrirana v VBA, možnost samodejnega filtriranja pa je eno pomembnih orodij, ki so na voljo v VBA. Kot vsi vemo, je excel filter na voljo na zavihku s podatki.

S to možnostjo filtra se lahko poigramo s podatki. Če imate opravka z minimalno količino podatkov in če menite, da možnost samodejnega filtriranja VBA v resnici ni potrebna, lahko še naprej uporabljate možnost filtra delovnega lista.

Če imate opravka z ogromno količino podatkov, lahko za poenostavitev poteka postopka uporabite možnost samodejnega filtra.

Sintaksa funkcije samodejnega filtra

Samodejni filter v Excelu VBA se lahko uporablja s predmetom obsega. Tako kot naše druge funkcije ima tudi ta svojo skladnjo.

  • Obseg: obseg je preprosto v tem obsegu, v katerem želite uporabiti filter.
  • Polje: Polje pomeni, iz katerega stolpca obsega, ki ste ga izbrali, želite filtrirati podatke. Stolpec se bo štel od leve proti desni.

Če je na primer vaš obseg od A1 do D100 in želite uporabiti filter za stolpec D, je številka vašega polja 4, ker je v izbranem obsegu D četrti stolpec.

Merila 1: V polju ste izbrali, kaj želite filtrirati.

  • Operator: Če želite uporabiti več kot eno merilo za filtriranje podatkov, moramo uporabiti operatorjeve simbole. Nekatere kode operaterja so navedene spodaj.

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

Kriteriji 2: Kaj je drugo, kar želite filtrirati skupaj z Merili 1?

  • Vidno spustno: Ali želite v filtriranem stolpcu prikazati ikono filtra preklop navzdol. Če želite prikazati TRUE, je argument, če ne FALSE, je argument.

Kako uporabiti filter z uporabo samodejnega filtra VBA? (s primerom)

Predpostavimo spodaj podatke, na katerih delate.

Zdaj bomo s pomočjo kode VBA uporabili filter. Za uporabo filtra sledite spodnjim korakom.

1. korak: Zaženite podproceduro tako, da makru daste ime.

Koda:

Sub AutoFilter_Example1 () Konec Sub

2. korak: Prva stvar je, v katerem obsegu moramo uporabiti filter. V tem primeru moramo uporabiti razpon od območja A1 do E25.

Koda:

Sub AutoFilter_Example1 () Obseg ("A1: E25") Konec Sub

3. korak: Ko je obseg izbran, zdaj uporabite možnost samodejnega filtra.

Koda:

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

S samodejnim filtrom ne izbiramo nobenih vrednosti. Namesto tega trenutno uporabljamo samo filter.

Zaženite kodo s tipko F5 ali ročno vstavi filter za izbrani obseg.

Torej je za podatke uporabil filter. Zdaj bomo videli, kako filtrirati podatke.

Primer # 1 - Filtriranje podatkov s pomočjo samodejnega filtra

Upoštevajte iste podatke iz zgornjega primera. Zdaj moramo iz stolpca oddelka izločiti oddelek "Finance".

1. korak: Po uporabi filtra je prvi argument omeniti, iz katerega stolpca filtriramo podatke. V tem primeru moramo podatke filtrirati iz stolpca Oddelek, torej številko stolpca, če je 5.

Koda:

Sub AutoFilter_Example1 () Obseg ("A1: E25"). Polje samodejnega filtra: = 5, End Sub

Korak 2: Merila 1 ni nič drugega kot tisto, kar smo želeli filter od 5 th stolpca. Torej moramo filtrirati "Finance".

Koda:

Sub AutoFilter_Example1 () Obseg ("A1: E25"). Polje samodejnega filtra: = 5, Merila1: = "Finance" Konec Sub

To je vse, zaženite to kodo ročno, ali s tipko F5 bo na seznamu izločila samo »Finance«.

2. primer - operater v samodejnem filtru

Videli smo, kako filtrirati posamezno vrednost. Zdaj bomo videli, kako filtrirati več elementov. Predpostavimo, da želite skupaj s »Financami« filtrirati tudi oddelek »Prodaja«, tako da lahko to storimo z uporabo operaterjev.

1. korak: Po uporabi prvega kriterija v naslednjem argumentu izberite operatorja kot »xlOr«.

Koda:

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 () z obsegom ("A1: E25"). Polje AutoFilter: = 5, Kriterij1: = "Finance". Polje AutoFilter: = 2, Kriterij1: = "> 25000", Operator: = xlAnd, Kriterij2: = " <40000 "Končaj s koncem Sub

Tako bomo filtrirali dva stolpca.

Zaženite to kodo s tipko F5 ali pa jo zaženite ročno.

Stvari, ki si jih je treba zapomniti

  • Preizkusite različne kombinacije v razdelku Operator, da pridobite znanje VBA AutoFilter.
  • Če niste prepričani, kaj vstaviti, poskusite uporabiti snemalnik makrov.
  • Če želite filtrirati besedilne vrednosti, jih morate navesti v dvojnih narekovajih.
  • Uporabite izjavo WITH za uporabo več kot enega stolpčnega filtra.

Zanimive Članki...