Excel VBA filter
Nástroj VBA Filter sa používa na triedenie alebo načítanie požadovaných konkrétnych údajov. Funkcia Autofilter sa používa ako funkcia pracovného hárka, táto funkcia však má ďalšie argumenty, ktoré sú voliteľné, a jediným povinným argumentom je výraz, ktorý pokrýva rozsah, napríklad pracovné listy („List1“). Rozsah („A1“). Automatický filter použije filter na prvý stĺpec.
Filtrovanie vo formáte VBA funguje rovnako ako v hárku. Jediné, čo sa líši, je, že môžeme automatizovať rutinnú úlohu filtrovania údajov pomocou kódovania.

Automatický filter je funkcia, ktorá obsahuje mnoho hodnôt syntaxe. Ďalej sú uvedené parametre, ktoré sú súčasťou funkcie automatického filtra.

- Rozsah je prvá vec, ktorú musíme dodať, aby sme mohli používať možnosť „Automatický filter“. Toto je jednoducho to, pre aký rozsah buniek musíme použiť filter, napríklad Range (“A1: D50”).
- Toto pole je prvým argumentom vo funkcii. Po výbere rozsahu buniek prostredníctvom objektu VBA RANGE musíme spomenúť, pre ktorý stĺpec rozsahu chceme filter použiť.
- Kritérium 1 nie je nič iné ako vo vybranom poli, akú hodnotu chcete odfiltrovať.
- Operátor sa používa v prípade, že chcete použiť argument Kritérium 2 . V tejto možnosti môžeme použiť nižšie uvedené možnosti.
xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues - Viditeľné rozbaľovacie políčko je, či sa má v stĺpci Použitý filter zobraziť symbol filtra alebo nie. Ak chcete zobraziť, môžete argument zadať ako TRUE alebo FALSE.
Príklady filtrovania údajov pomocou VBA
Príklad č. 1 - Aplikácia alebo odstránenie filtra na údaje
Ak chcete na údaje použiť možnosť filtra, môžeme túto možnosť vypnúť a zapnúť. Napríklad si pozrite nasledujúci dátový obrázok.

Krok 1: Rozsah údajov o dodávkach
Ak chcete najskôr aktivovať možnosť filtra, musíme zadať, aký je náš rozsah údajov. Na vyššie uvedenom obrázku sú naše údaje rozptýlené od A1 do G31, takže tento rozsah zadajte pomocou objektu RANGE.
Kód:
Sub Filter_Example () Range ("A1: G31") End Sub

Krok 2: Potom vstúpte do funkcie Automatický filter
Teraz pre tento rozsah získate prístup k funkcii Automatický filter.
Kód:
Sub Filter_Example () Range ("A1: G31"). Subfilter End Sub

Krok 3: Spustením kódu povolíte filter
To je všetko. Spustením tohto kódu povolíte automatický filter.
Tento kód funguje ako prepínač a ak sa filter nepoužije, použije sa. Ak už je aplikovaný, odstráni sa.
Príklad č. 2 - Filtrovať konkrétne hodnoty
Teraz uvidíme, ako využiť parametre možnosti Automatický filter. Vezmite rovnaké údaje ako vyššie. Napríklad teraz musíme odfiltrovať všetky mená pohlaví mužov.
Krok 1: Vyberte rozsah a otvorte funkciu automatického filtra

Krok 2: Potom vyberte pole
V prvom argumente funkcie, tj. Pole, musíme spomenúť odkaz na stĺpec, ktorý by sme chceli odfiltrovať. V tomto príklade musíme filtrovať iba kandidátov „Muž“, čo je stĺpec „C“, takže číslo stĺpca je 3.

Krok 3: Teraz uveďte kritériá
Teraz pre toto dodané Pole musíme spomenúť Kritérium 1, tj. Akú hodnotu musíme filtrovať v uvedenom poli. Z tohto stĺpca musíme vyfiltrovať slovo „muž“.
Kód:
Sub Filter_Example () Range ("A1: G31"). Pole automatického filtra: = 3, kritériá 1: = "male" koncový sub

Krok 4: A spustite kód
Dobre, to je všetko. Tento kód teraz filtruje iba kandidátov „Muža“.

Príklad č. 3 - Použitie argumentu OPERÁTOR
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

Teraz vo vnútri príkazu WITH zadajte prvé kritériá, ktoré sa majú filtrovať.
Kód:
Sub filter_Example () s rozsahom ("A1: G31"). Pole AutoFilter: = 4, Criteria1: = "Absolvent" Koniec koncovým sub

Teraz v ďalšom riadku urobte to isté pre „Krajina“ zmenou „Pole“ na 6 a Kritérií ako „USA“.
Kód:
Sub filter_Example () s rozsahom ("A1: G31"). Pole AutoFilter: = 4, Kritérium1: = "Absolvent". Pole AutoFilter: = 6, Kritériá1: = "USA" Koniec s Koncom Sub

Týmto sa vyfiltruje výraz „Absolvent“ iba pre krajinu „USA“.

Na čo treba pamätať
- Použije sa prvá vec najskôr iba pre spomínaný rozsah buniek.
- Toto pole neobsahuje nič, v ktorom stĺpci chcete filtrovať údaje.
- V prípade filtrovania hodnôt z viac ako jedného stĺpca použite S.