Kuinka soveltaa ja poistaa suodatinta tiedoista VBA: n avulla?

Sisällysluettelo

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ä.

Mielenkiintoisia artikkeleita...