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.