Kuidas filtreid VBA abil andmetest rakendada ja kustutada?

Lang L: none (table-of-contents)

Exceli VBA-filter

Tööriista VBA Filter kasutatakse soovitud andmete sortimiseks või toomiseks, töölehefunktsioonina kasutatakse funktsiooni Autofilter, kuid sellel funktsioonil on ka muid argumente, mis on valikulised ja ainus kohustuslik argument on avaldis, mis hõlmab näiteks vahemikku töölehed („Sheet1“). Vahemik („A1“). Autofilter rakendab filtri esimesele veerule.

VBA-s olev filter töötab samamoodi nagu töölehel. Ainus asi, mis on erinev, on see, et saame andmete filtreerimise rutiinse ülesande kodeerimise abil automatiseerida.

Autofilter on funktsioon, mis sisaldab palju süntaksiväärtusi. Allpool on toodud funktsiooniga AutoFilter seotud parameetrid.

  • Vahemik on esimene asi, mida peame valiku „AutoFilter” kasutamiseks pakkuma. See on lihtsalt millise lahtrivahemiku puhul peame filtrit rakendama, näiteks Range („A1: D50”).
  • Väli on funktsiooni esimene argument. Kui lahtrivahemik on objekti VBA RANGE kaudu valitud, peame mainima, millise vahemiku veeru jaoks soovime filtrit rakendada.
  • Kriteerium 1 pole muud kui valitud väli, millise väärtuse soovite välja filtreerida.
  • Operaatorit kasutatakse juhul, kui soovite kasutada argumenti Kriteerium 2 . Selles valikus saame kasutada allpool olevaid võimalusi.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Nähtav rippmenüü on see, kas kuvada filtri sümbol rakendatud filtris veerus või mitte. Kui soovite kuvada, võite argumendi esitada TRUE või muidu FALSE.

Näited andmete filtreerimiseks VBA abil

Näide # 1 - rakendage või eemaldage andmetele filter

Kui soovite andmetele filtri valikut rakendada, võime selle võimaluse välja lülitada ja sisse lülitada. Näiteks vaadake allolevat andmepilti.

1. samm: andke andmevahemik

Esmalt filtri valiku aktiveerimiseks peame pakkuma oma andmevahemikku. Ülaltoodud pildil on meie andmed jaotatud A1-st kuni G31-ni, seega edastage see vahemik objekti RANGE abil.

Kood:

Alamfilter_näide () vahemik ("A1: G31") Lõpp alam
2. samm: seejärel avage funktsioon AutoFilter

Nüüd avage selle vahemiku funktsioon AutoFilter.

Kood:

Alamfiltri_näide () vahemik ("A1: G31"). Autofiltri lõpp alam
3. samm: filtri lubamiseks käivitage kood

See on kõik. Automaatfiltri lubamiseks käivitage see kood.

See kood töötab lülitina ja kui filtrit ei rakendata, siis see rakendub. Kui see on juba rakendatud, siis see eemaldatakse.

Näide # 2 - filtreerige spetsiifilised väärtused

Nüüd näeme, kuidas kasutada suvandi AutoFilter parameetreid. Võtke samad andmed nagu eespool. Näiteks peame nüüd välja filtreerima kõik meessoost nimed.

1. samm: valige vahemik ja avage automaatfiltri funktsioon
2. samm: seejärel valige väli

Funktsiooni, st Field esimeses argumendis peame mainima veeruviidet, mille tahaksime välja filtreerida. Selles näites peame filtreerima ainult „Mees” kandidaadid, see on veerg „C”, nii et veeru number on 3.

3. samm: mainige nüüd kriteeriume

Selle tarnitava välja puhul peame mainima kriteeriumid 1, st millist väärtust peame mainitud väljal filtreerima . Peame sellest veerust filtreerima „Mees”.

Kood:

Alamfiltri_näide () vahemik ("A1: G31"). Autofiltri väli: = 3, kriteeriumid1: = "mees" lõpp-alam
4. samm: ja käivitage kood

Ok, see on kõik. See kood filtreerib nüüd ainult „meessoost“ kandidaadid.

Näide # 3 - argumendi OPERATOR kasutamine

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

Esitage nüüd WITH-avaldises esimesed filtreeritavad kriteeriumid.

Kood:

Alamfilter_näide () koos vahemikuga ("A1: G31"). Väli Autofilter: = 4, Kriteeriumid1: = "Lõpetaja" Lõpp lõpuga

Nüüd järgmises reas tehke sama ka riigi puhul, muutes väljaks 6 ja kriteeriumiks USA.

Kood:

Alamfiltri_näide () koos vahemikuga ("A1: G31"). Väli AutoFilter: = 4, Kriteeriumid1: = "Lõpetaja". Väli Autofilter: = 6, Kriteeriumid1: = "USA" Lõpp alamrubriikidega

Nüüd filtreerib see valiku „Lõpetaja” ainult riigis „USA”.

Asjad, mida meeles pidada

  • Esimese asjana rakendatakse kõigepealt mainitud lahtrivahemiku filtrit.
  • See väli pole selles veerus, kus soovite andmeid filtreerida.
  • Kui väärtuste filtreerimine mitmest veerust, kasutage klahvi With.

Huvitavad Artiklid...