Hvordan anvendes og slettes filter fra data ved hjælp af VBA?

Indholdsfortegnelse

Excel VBA-filter

VBA- filterværktøjet bruges til at sortere eller hente de ønskede specifikke data, Autofilter-funktionen bruges som en regnearksfunktion, men denne funktion har andre argumenter med sig, som er valgfri, og det eneste obligatoriske argument er det udtryk, der f.eks. Dækker området regneark ("Ark1"). Område ("A1"). Autofilter anvender filteret i første kolonne.

Filter i VBA fungerer på samme måde som det fungerer i regnearket. Det eneste der er anderledes er, at vi kan automatisere den rutinemæssige opgave med at filtrere dataene gennem kodning.

AutoFilter er en funktion, der indeholder mange syntaksværdier. Nedenfor er de parametre, der er involveret i funktionen AutoFilter.

  • Sortimentet er det første, vi skal levere for at bruge “AutoFilter” -indstillingen. Dette er simpelthen for hvilket celleområde vi har brug for for at anvende filteret, for eksempel Range (“A1: D50”).
  • Feltet er det første argument i funktionen. Når cellerne er valgt gennem VBA RANGE-objektet, skal vi nævne for hvilken kolonne i området vi vil anvende filteret til.
  • Kriterier 1 er intet andet end i det valgte felt, hvilken værdi du vil filtrere ud.
  • Operatøren bruges i tilfælde, hvis du vil bruge argumentet Kriterier 2 . I denne mulighed kan vi bruge nedenstående muligheder.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Synlig rullemenu er, om der skal vises et filtersymbol i den anvendte filterkolonne eller ej. Hvis du vil vise, kan du angive argumentet som SAND eller ellers FALSK.

Eksempler på filtrering af data ved hjælp af VBA

Eksempel # 1 - Anvend eller fjern filter på dataene

Hvis du vil anvende filterindstillingen på dataene, kan vi slå denne indstilling fra og til. Se f.eks. Nedenstående databillede.

Trin 1: Leveringsdataområde

For at aktivere filterindstillingen først skal vi levere, hvad der er vores dataområde. I ovenstående billede er vores data spredt over fra A1 til G31, så lever dette interval ved hjælp af et RANGE-objekt.

Kode:

Sub Filter_Example () Range ("A1: G31") End Sub
Trin 2: Gå derefter til AutoFilter-funktionen

Nu får du adgang til AutoFilter-funktionen til dette interval.

Kode:

Sub Filter_Example () Range ("A1: G31"). AutoFilter End Sub
Trin 3: Kør koden for at aktivere filteret

Det er alt. Kør denne kode for at aktivere det automatiske filter.

Denne kode fungerer som en omskifter, og hvis filteret ikke anvendes, gælder det. Hvis det allerede er anvendt, fjernes det.

Eksempel # 2 - Filtrer specifikke værdier

Nu vil vi se, hvordan du bruger parametrene til indstillingen AutoFilter. Tag de samme data som ovenfor. For eksempel er vi nu nødt til at filtrere alle "mandlige" kønsnavne ud.

Trin 1: Vælg rækkevidde og åbn autofilterfunktion
Trin 2: Vælg derefter felt

I det første argument for funktionen, dvs. felt, skal vi nævne kolonnehenvisningen, som vi gerne vil filtrere ud. I dette eksempel skal vi kun filtrere "Mandlige" kandidater, hvilket er kolonne "C", så kolonnetal er 3.

Trin 3: Nu nævnes kriterier

Nu for dette leverede felt skal vi nævne kriterier 1, dvs. hvilken værdi vi har brug for at filtrere i det nævnte felt. Vi er nødt til at filtrere "Mand" fra denne kolonne.

Kode:

Sub Filter_Example () Range ("A1: G31"). AutoFilter Field: = 3, Criteria1: = "Male" End Sub
Trin 4: Og kør koden

Ok, det er alt. Denne kode filtrerer kun "mandlige" kandidater nu.

Eksempel # 3 - Brug af OPERATOR Argument

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

Nu inde med MED-erklæringen, lever de første kriterier, der skal filtreres.

Kode:

Sub Filter_Example () With Range ("A1: G31"). AutoFilter Field: = 4, Criteria1: = "Graduate" End with End Sub

Nu i næste linje skal du gøre det samme for "Land" ved at ændre "Felt" som 6 og Kriterier som "USA."

Kode:

Sub Filter_Example () With Range ("A1: G31"). AutoFilter Field: = 4, Criteria1: = "Graduate". AutoFilter Field: = 6, Criteria1: = "US" End with End Sub

Nu filtreres dette "Graduate" kun for landet "US".

Ting at huske

  • Den første ting først kun for det nævnte celleområde filter anvendes.
  • Feltet er intet i hvilken kolonne du vil filtrere dataene.
  • Hvis der filtreres værdier fra mere end en kolonne, skal du bruge With.

Interessante artikler...