Excel VBA filter
Orodje VBA Filter se uporablja za razvrščanje ali pridobivanje določenih želenih podatkov; funkcija samodejnega filtra se uporablja kot funkcija delovnega lista, vendar ima ta funkcija druge argumente, ki so neobvezni in edini obvezni argument je izraz, ki pokriva obseg, na primer delovni listi (“Sheet1”). Obseg (“A1”). Samodejni filtriranje bo filter uporabil v prvem stolpcu.
Filter v VBA deluje enako kot na delovnem listu. Različno je le, da lahko avtomatiziramo rutinsko nalogo filtriranja podatkov s pomočjo kodiranja.

AutoFilter je funkcija, ki vključuje veliko sintaksnih vrednosti. Spodaj so navedeni parametri funkcije AutoFilter.

- Obseg je prva stvar, ki jo moramo ponuditi za uporabo možnosti »AutoFilter«. To je preprosto za kateri obseg celic moramo uporabiti filter, na primer Range ("A1: D50").
- Polje je prvi argument v funkciji. Ko je obseg celic izbran skozi objekt VBA RANGE, moramo omeniti, za kateri stolpec obsega želimo uporabiti filter.
- Kriterij 1 ni nič drugega kot v izbranem polju, katero vrednost želite filtrirati.
- Operator se uporablja v primeru, če želite uporabiti argument Merila 2 . Pri tej možnosti lahko uporabimo spodnje možnosti.
xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues - Vidno spustno je, ali naj se v stolpcu, uporabljenem za filter, prikaže simbol filtra ali ne. Če želite prikazati, lahko argument navedete kot TRUE ali FALSE.
Primeri za filtriranje podatkov z uporabo VBA
Primer # 1 - Uporabi ali odstrani filter za podatke
Če želite uporabiti možnost filtra za podatke, lahko to možnost izklopimo in vklopimo. Na primer, poglejte spodnjo sliko s podatki.

1. korak: Navedite obseg podatkov
Če želite najprej aktivirati možnost filtra, moramo navesti, kakšen je naš obseg podatkov. Na zgornji sliki so naši podatki razpršeni od A1 do G31, zato podajte to območje z uporabo predmeta RANGE.
Koda:
Sub Filter_Example () Obseg ("A1: G31") Konec Sub

2. korak: Nato odprite funkcijo AutoFilter
Zdaj odprite funkcijo samodejnega filtra za ta obseg.
Koda:
Podfilter_Primer () Obseg ("A1: G31"). Konec samodejnega filtra Sub

3. korak: Zaženite kodo, da omogočite filter
To je vse. Zaženite to kodo, da omogočite samodejni filter.
Ta koda deluje kot preklop in če filter ni uporabljen, bo veljal. Če je že uporabljeno, ga bo odstranilo.
Primer # 2 - Filtriranje določenih vrednosti
Zdaj bomo videli, kako uporabiti parametre možnosti AutoFilter. Vzemite enake podatke kot zgoraj. Na primer, zdaj moramo filtrirati vsa moška imena spolov.
1. korak: Izberite obseg in odprite funkcijo samodejnega filtra

2. korak: Nato izberite polje
V prvem argumentu funkcije, tj. Field, moramo omeniti sklic na stolpec, ki bi ga radi filtrirali. V tem primeru moramo filtrirati samo kandidate »Moški«, to je stolpec »C«, zato je številka stolpca 3.

3. korak: Zdaj omenite merila
Zdaj za to dobavljeno polje moramo omeniti merila 1, tj. Katero vrednost moramo filtrirati v omenjenem polju. Iz tega stolpca moramo filtrirati »Moški«.
Koda:
Podfilter_Primer () Obseg ("A1: G31"). Polje samodejnega filtra: = 3, Kriteriji1: = "Moški" Konec Sub

4. korak: in zaženite kodo
Ok, to je vse. Ta koda bo zdaj filtrirala samo »moške« kandidate.

Primer # 3 - Uporaba argumenta OPERATOR
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

Zdaj v stavku WITH navedite prva merila, ki jih je treba filtrirati.
Koda:
Sub Filter_Example () z obsegom ("A1: G31"). Polje AutoFilter: = 4, Criteria1: = "Graduate" End with End Sub

Zdaj v naslednji vrstici naredite enako za »Država«, tako da spremenite »Polje« kot 6 in Merila kot »ZDA«.
Koda:
Podfilter_Primer () z obsegom ("A1: G31"). Polje AutoFilter: = 4, Kriteriji1: = "Diplomirano". Polje AutoFilter: = 6, Kriteriji1: = "US" Konec s koncem Sub

Zdaj bo to filtriralo "Diplomant" samo za državo "ZDA".

Stvari, ki si jih je treba zapomniti
- Prva stvar bo uporabljena samo za omenjeni obseg filtra celic.
- Polje ni nič, v katerem stolpcu želite filtrirati podatke.
- Če filtrirate vrednosti iz več kot enega stolpca, uporabite z.