Excel VBA -suodatin
VBA-suodatintyökalua käytetään haluttujen tietojen lajittelemiseen tai hakemiseen, Autofilter-toimintoa käytetään laskentataulukko-funktiona, mutta tällä toiminnolla on muita argumentteja, jotka ovat valinnaisia, ja ainoa pakollinen argumentti on lauseke, joka kattaa esimerkiksi alueen laskentataulukot ("Sheet1"). Range ("A1"). Automaattinen suodatin käyttää suodatinta ensimmäiseen sarakkeeseen.
VBA: n suodatin toimii samalla tavalla kuin laskentataulukossa. Ainoa asia on erilainen, että voimme automatisoida rutiinitehtävän tietojen suodattamiseksi koodauksen avulla.

Automaattinen suodatin on toiminto, joka sisältää monia syntaksiarvoja. Alla ovat parametrit, jotka liittyvät AutoFilter-toimintoon.

- Alue on ensimmäinen asia, joka meidän on toimitettava "AutoFilter" -vaihtoehdon käyttämiseksi. Tämä on yksinkertaisesti mille solualueelle meidän on käytettävä suodatinta, esimerkiksi Range (“A1: D50”).
- Kenttä on funktion ensimmäinen argumentti. Kun solualue on valittu VBA RANGE -objektin kautta, meidän on mainittava, mihin alueen sarakkeeseen haluamme käyttää suodatinta.
- Kriteerit 1 on vain valittu kenttä, mikä arvo haluat suodattaa.
- Operaattoria käytetään siinä tapauksessa, että haluat käyttää Criteria 2 -argumenttia. Tässä vaihtoehdossa voimme käyttää alla olevia vaihtoehtoja.
xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues - Näkyvä pudotusvalikko tarkoittaa, näytetäänkö suodatinsymboli suodatinsovelletussa sarakkeessa vai ei. Jos haluat näyttää, voit antaa argumentin TOSI tai muuten EPÄTOSI.
Esimerkkejä tietojen suodattamisesta VBA: n avulla
Esimerkki # 1 - Käytä tai poista suodatin dataan
Jos haluat käyttää suodatinvaihtoehtoa tietoihin, voimme sammuttaa tämän vaihtoehdon ja ottaa sen käyttöön. Katso esimerkiksi alla olevaa datakuvaa.

Vaihe 1: Anna tietojen alue
Suodatinvaihtoehdon aktivoimiseksi ensin on toimitettava mikä on tietojemme alue. Yllä olevassa kuvassa tietomme on jaettu A1: stä G31: een, joten anna tämä alue käyttämällä RANGE-objektia.
Koodi:
Alasuodatin_esimerkki () Alue ("A1: G31") Loppuosa

Vaihe 2: Avaa sitten automaattinen suodatintoiminto
Käytä nyt tämän alueen automaattista suodatintoimintoa.
Koodi:
Alasuodatin_esimerkki () Alue ("A1: G31"). Automaattinen suodatin loppu

Vaihe 3: Suodata koodi suodattimen käyttöönottamiseksi
Siinä kaikki. Suorita tämä koodi automaattisen suodattimen käyttöönottamiseksi.
Tämä koodi toimii vaihtimena, ja jos suodatinta ei käytetä, sitä käytetään. Jos se on jo käytössä, se poistetaan.
Esimerkki # 2 - Suodatinkohtaiset arvot
Nyt näemme kuinka käyttää automaattisen suodattimen vaihtoehtoja. Ota samat tiedot kuin yllä. Esimerkiksi meidän on nyt suodatettava kaikki sukupuolen nimet ”Mies”.
Vaihe 1: Valitse alue ja avaa automaattinen suodatintoiminto

Vaihe 2: Valitse sitten kenttä
Funktion eli kentän ensimmäisessä argumentissa meidän on mainittava sarakeviite, jonka haluaisimme suodattaa. Tässä esimerkissä meidän on suodatettava vain "miespuoliset" ehdokkaat, joka on sarake "C", joten sarakkeen numero on 3.

Vaihe 3: Mainitse nyt kriteerit
Tämän toimitetun kentän osalta meidän on mainittava kriteerit 1 eli mikä arvo meidän on suodatettava mainitussa kentässä. Meidän on suodatettava "Mies" tästä sarakkeesta.
Koodi:
Alasuodatin_esimerkki () Alue ("A1: G31"). Automaattisen suodattimen kenttä: = 3, Kriteerit1: = "Mies" Loppu

Vaihe 4: Ja suorita koodi
Ok, siinä kaikki. Tämä koodi suodattaa nyt vain miespuoliset ehdokkaat.

Esimerkki # 3 - OPERATOR-argumentin käyttö
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

Anna nyt WITH-lauseessa ensimmäiset suodatettavat kriteerit.
Koodi:
Alasuodatin_esimerkki () Alueella ("A1: G31"). AutoFilter-kenttä: = 4, Kriteerit1: = "Valmistunut" loppu loppuosalla

Tee nyt seuraavalla rivillä sama kohdalla "Maa" muuttamalla kenttä "6" ja kriteerit "Yhdysvallat".
Koodi:
Alasuodatin_esimerkki () Alueella ("A1: G31"). AutoFilter-kenttä: = 4, Kriteerit1: = "Valmistunut" .Autofilter-kenttä: = 6, Kriteerit1: = "US" Loppu loppuosalla

Nyt tämä suodattaa "Valmistuneet" vain maalle "Yhdysvallat".

Muistettavaa
- Ensimmäinen asia sovelletaan vain mainittuun solualueeseen.
- Kenttä ei ole mikään sarakkeesta, jonka haluat suodattaa.
- Jos suodatat arvoja useammasta kuin yhdestä sarakkeesta, käytä sitten -näppäintä.