Hogyan lehet szűrőt alkalmazni és törölni az adatokból a VBA segítségével?

Tartalomjegyzék

Excel VBA szűrő

A VBA Filter eszköz a kívánt adatok rendezésére vagy lekérésére szolgál, az Autofilter funkciót munkalapfüggvényként használják, azonban ennek a függvénynek vannak más argumentumai is, amelyek nem kötelezőek, és az egyetlen kötelező argumentum a kifejezés, amely lefedi például a tartományt munkalapok („Sheet1”). Tartomány („A1”). Az Autofilter alkalmazza a szűrőt az első oszlopra.

A VBA szűrője ugyanúgy működik, mint a munkalapon. Az egyetlen különbség az, hogy automatizálhatjuk az adatok szűrésének rutinfeladatát kódolással.

Az AutoFilter egy olyan funkció, amely sok szintaxis értéket tartalmaz. Az alábbiakban bemutatjuk az AutoFilter funkcióval kapcsolatos paramétereket.

  • A tartomány az első dolog, amit meg kell adnunk az „AutoFilter” opció használatához. Ez egyszerűen arra a cellatartományra vonatkozik, amelyre alkalmazni kell a szűrőt, például a Range („A1: D50”).
  • A mező a függvény első argumentuma. Miután kiválasztotta a cellatartományt a VBA RANGE objektumon keresztül, meg kell említenünk, hogy a tartomány mely oszlopához kívánjuk alkalmazni a szűrőt.
  • Az 1. kritérium nem más, mint a kiválasztott mezőben, hogy milyen értéket szeretne kiszűrni.
  • Az operátort használjuk abban az esetben, ha a Criteria 2 argumentumot akarjuk használni . Ebben a lehetőségben az alábbi lehetőségeket használhatjuk.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • A Látható legördülő menü arra vonatkozik, hogy megjelenjen-e szűrőszimbólum az alkalmazott szűrő oszlopban, vagy sem. Ha meg akarja jeleníteni, akkor megadhatja az argumentumot IGAZ vagy másként HAMIS.

Példák az adatok szűrésére a VBA segítségével

1. példa - Szűrő alkalmazása vagy eltávolítása az adatokra

Abban az esetben, ha a szűrő opciót szeretné alkalmazni az adatokra, akkor ki- és bekapcsolhatjuk ezt a lehetőséget. Nézze meg például az alábbi adatképet.

1. lépés: Adja meg az adattartományt

A szűrő opció aktiválásához először meg kell adnunk az adattartományunkat. A fenti képen az adataink A1-től G31-ig terjednek, ezért ezt a tartományt egy RANGE objektum segítségével adja meg.

Kód:

Alszűrő_Példa () Tartomány ("A1: G31") Vége al
2. lépés: Ezután lépjen be az AutoFilter funkcióba

Most nyissa meg az AutoFilter funkciót ehhez a tartományhoz.

Kód:

Alszűrő_Példa () Tartomány ("A1: G31"). AutoFilter End Sub
3. lépés: Futtassa a kódot a szűrő engedélyezéséhez

Ez minden. Futtassa ezt a kódot az automatikus szűrő engedélyezéséhez.

Ez a kód váltóként működik, és ha a szűrőt nem alkalmazzák, akkor alkalmazni fogja. Ha már alkalmazzák, akkor eltávolítja.

2. példa - Szűrőspecifikus értékek

Most meglátjuk, hogyan kell használni az AutoFilter opció paramétereit. Ugyanazokat az adatokat vegye fel, mint fent. Például most ki kell szűrnünk az összes „Férfi” nemnevet.

1. lépés: Válassza ki a Tartomány lehetőséget, és nyissa meg az Automatikus szűrő funkciót
2. lépés: Ezután válassza a Mező lehetőséget

A függvény, azaz a Field első argumentumában meg kell említenünk az oszlop hivatkozást, amelyet ki akarunk szűrni. Ebben a példában csak a „Férfi” jelölteket kell szűrnünk, ami a „C” oszlop, tehát az oszlop száma 3.

3. lépés: Most említse meg a kritériumokat

Ehhez a mellékelt mezőhöz meg kell említenünk az 1. kritériumot, azaz azt, hogy milyen értéket kell szűrnünk az említett mezőben. Szűrnünk kell a „Male” -t ebből az oszlopból.

Kód:

Alszűrő_Példa () Tartomány ("A1: G31"). Automatikus szűrő mező: = 3, 1. kritérium: = "Férfi" End Sub
4. lépés: És futtassa a kódot

Ok, ennyi. Ez a kód most csak a „férfi” jelölteket szűri meg.

3. példa - Az OPERATOR argumentum használata

When you want to filter out more than one value from the column, we need to use the “Operator” argument. For example, from the column “Major,” we need to filter only “Math & Politics,” then we need to use this argument.

Step 1: Select Range and Autofilter Field

First, supply the Range of cells and fields.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, End Sub
Step 2: Enter Criteria 1 as Math

For the mentioned filed, we need to supply Criteria 1 as “Math.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", End Sub
Step 3: Use Operator xl

Since we need to filter one more value from the same column or field, use the operator symbol as “xlOr.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr End Sub
Step 4: Enter Criteria 2 as Politics

And for Criteria 2 argument mention the value as “Politics.”

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=5, Criteria1:="Math", Operator:=xlOr, Criteria2:="Politics" End Sub

This will filter out both “Math” & “Politics” from column “Major.”

Example #4 - Filter Numbers with Operator Symbols

For example, if you want to filter numbers with, then we can filter a specific number as well as numbers above, below, or between specific values and range of values.

For example, from the age column, if you want to filter persons aged more than 30, then we can write the code like below.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">30" End Sub

This will filter all the values that are more than 30.

Now, if you want to filter values between 21 and 31, then we can use the below code.

Code:

Sub Filter_Example() Range("A1:G31").AutoFilter Field:=7, Criteria1:=">21", Operator:=xlAnd, Criteria2:="<31" End Sub

This will filter persons aged between 21 and 30.

Example #5 - Apply Filter for More Than One Column

If you want to filter values from more than one column criteria, then we need to use a slightly different technique.

If you want to filter “Student Status” as “Graduate” and “Country” as “US,” then first, we need to supply the RANGE of cells under the “WITH” statement.

Code:

Sub Filter_Example() With Range("A1:G31") End With End Sub

Most a WITH utasításon belül adja meg az első szűrendő kritériumot.

Kód:

Alszűrő_Példa () Tartománnyal ("A1: G31"). AutoFilter mező: = 4, 1. kritérium: = "Diplomás" vége végződéssel

Most a következő sorban tegye ugyanezt az „Ország” esetében úgy, hogy a „Mező” értéket 6-ra, a Kritériumokat pedig „USA” -ra módosítja.

Kód:

Alszűrő_Példa () Tartománnyal ("A1: G31"). AutoFilter mező: = 4, Criteria1: = "Graduate". AutoFilter mező: = 6, Criteria1: = "US" End End End Sub End

Most ez csak a „USA” országra szűri a „Graduate” -t.

Dolgok, amikre emlékezni kell

  • Először csak az említett cellatartomány szűrőjét kell alkalmazni.
  • A mező semmi, melyik oszlopban szeretné szűrni az adatokat.
  • Abban az esetben, ha az értékeket egynél több oszlopból szűrjük, akkor használjuk a With billentyűt.

érdekes cikkek...