VBA AutoFilter - Hogyan kell használni a VBA AutoFilter kritériumokat az adatok szűrésére?

Excel VBA automatikus szűrő

A VBA-ban található AutoFilter kifejezést használja, és annak szintaxisa a következő kifejezés. Automatikus szűrő (mező, 1. kritérium, operátor, 2. kritérium, legördülő menü) az összes argumentum opcionális. A szűrő hasznos az egyes adatok kiszűrésében a hatalmas adatokból.

Tegyük fel, hogy rendszeres felhasználó vagy, akkor az Excel szűrők nem furcsa dolgok az Ön számára. A munkalapon használt eszközök egy része szintén integrálódik a VBA-ba, és az automatikus szűrési lehetőség az egyik fontos eszköz, amely elérhető a VBA-ban. Mint mindannyian tudjuk, az excel szűrő elérhető az adatok fül alatt.

Ezzel a szűrési lehetőséggel játszhatunk az adatokkal. Ha minimális adatmennyiséggel foglalkozik, és ha úgy gondolja, hogy a VBA automatikus szűrő opcióra valójában nincs szükség, akkor továbbra is használhatja a munkalap szűrő opciót.

Ha hatalmas mennyiségű adattal foglalkozik, akkor az Autofilter opcióval egyszerűsítheti a folyamat folyamatát.

Az AutoFilter funkció szintaxisa

Az Auto Vilter az Excel VBA-ban használható egy tartomány objektummal. A többi funkciónkhoz hasonlóan ennek is megvan a maga szintaxisa.

  • Tartomány: A tartomány egyszerűen abban a tartományban van, ahol alkalmazni szeretné a szűrőt.
  • Mező: A mező azt jelenti, hogy a tartomány melyik oszlopából választotta ki az adatokat. Egy oszlopot balról jobbra számolunk.

Például, ha a tartománya A1 és D100 között van, és szűrőt szeretne alkalmazni a D oszlopra, akkor a mező száma 4, mert a kiválasztott tartományban D a negyedik oszlop.

1. kritérium: A mezőben kiválasztotta, hogy mit szeretne szűrni.

  • Operátor: Ha egynél több feltételt szeretne alkalmazni az adatok szűrésére, akkor operátor szimbólumokat kell használnunk. A kezelői kódok egy része az alábbi.

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

2. kritérium: Mi a második dolog, amelyet szűrni szeretne az 1. kritériummal együtt?

  • Látható legördülő menü : Szeretné megjeleníteni a szűrő feltöltés ikonját a szűrt oszlopban. Ha az IGAZ lehetőséget akarja megjeleníteni, akkor az argumentum, ha nem HAMIS, akkor ez az argumentum.

Hogyan kell alkalmazni a szűrőt a VBA AutoFilter segítségével? (példával)

Tegyük fel, hogy az adatok alatt dolgozol.

Most a VBA kód használatával alkalmazzuk a szűrőt. A szűrő alkalmazásához kövesse az alábbi lépéseket.

1. lépés: Indítsa el az alfolyamatot úgy, hogy nevet ad a makrónak.

Kód:

Sub AutoFilter_Példa1 () End Sub

2. lépés: Az első dolog az, hogy milyen tartományban kell alkalmaznunk a szűrőt. Ebben az esetben az A1 és E25 közötti tartományt kell alkalmaznunk.

Kód:

Automatikus szűrő_példa1 () tartomány ("A1: E25") Vége al

3. lépés: Miután kiválasztotta a tartományt, most alkalmazza az automatikus szűrő opciót.

Kód:

Sub AutoFilter_Example1 () tartomány ("A1: E25"). AutoFilter End Sub

Nem választunk ki értékeket automatikus szűrővel. Inkább csak a szűrőt alkalmazzuk ebben az időpontban.

Futtassa a kódot az F5 gombbal, vagy manuálisan, a szűrő beszúrja a kiválasztott tartományt.

Tehát szűrőt alkalmazott az adatokra. Most meglátjuk, hogyan lehet kiszűrni az adatokat.

1. példa - Az adatok szűrése az AutoFilter használatával

Tekintsük ugyanezeket az adatokat a fenti példából. Most ki kell szűrnünk a „Pénzügy” osztályt az osztály oszlopból.

1. lépés: A szűrő alkalmazása után az első érv megemlíti, hogy melyik oszlopból szűrjük az adatokat. Ebben az esetben az Osztály oszlopból kell kiszűrnünk az adatokat, tehát az oszlop száma, ha 5.

Kód:

Al AutoFilter_Example1 () tartomány ("A1: E25"). AutoFilter mező: = 5, End Sub

2. lépés: Kritériumok 1 nem más, mint amit mi szeretnénk szűrőt a 5 -én oszlopot. Tehát ki kell szűrnünk a „pénzügyeket”.

Kód:

Sub AutoFilter_Example1 () tartomány ("A1: E25"). AutoFilter mező: = 5, Criteria1: = "Finance" End Sub

Tehát ennyi, futtassa ezt a kódot manuálisan, vagy az F5 billentyűvel csak a „Pénzügy” -t szűrheti ki a listából.

2. példa - Kezelő az AutoFilterben

Láttuk, hogyan lehet kiszűrni az egyetlen értéket. Most meglátjuk, hogyan szűrhet több elemet. Tegyük fel, hogy a „Pénzügy” mellett az „Értékesítés” részleget is szeretné szűrni, így ezt az Operátorok segítségével tehetjük meg .

1. lépés: Miután alkalmazta az első feltételeket a következő argumentumban, válassza ki az operátort „xlOr” néven.

Kód:

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 () tartományral ("A1: E25"). AutoFilter mező: = 5, Criteria1: = "Finance" .Autofilter mező: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "Vége Végével Vége

Ez két oszlopot fog kiszűrni.

Futtassa ezt a kódot az F5 billentyűvel, vagy manuálisan is futtathatja.

Dolgok, amikre emlékezni kell

  • Próbálja ki az Operátor alatt különböző kombinációkat, hogy megismerje a VBA AutoFilter ismereteit.
  • Ha nem biztos benne, hogy mit tegyen be, próbálja meg használni a makrórögzítőt.
  • Ha ki akarja szűrni a szöveges értékeket, akkor dupla idézőjeleket kell megadnia.
  • A WITH utasítással egynél több oszlopszűrőt is alkalmazhat.

érdekes cikkek...