Kā lietot un dzēst filtru no datiem, izmantojot VBA?

Satura rādītājs

Excel VBA filtrs

VBA filtra rīks tiek izmantots, lai sakārtotu vai iegūtu vajadzīgos datus, funkcija Autofilter tiek izmantota kā darblapas funkcija, tomēr šai funkcijai ir citi argumenti, kas nav obligāti, un vienīgais obligātais arguments ir izteiksme, kas aptver diapazonu, piemēram darblapas (“Sheet1”). Diapazons (“A1”). Automātiskais filtrs filtru lietos pirmajā kolonnā.

Filtrs VBA darbojas tāpat kā darblapā. Vienīgais, kas atšķiras, ir tas, ka mēs varam automatizēt rutīnas uzdevumu filtrēt datus, izmantojot kodēšanu.

AutoFilter ir funkcija, kas ietver daudzas sintakses vērtības. Zemāk ir parametri, kas saistīti ar funkciju AutoFilter.

  • Diapazons ir pirmā lieta, kas mums jāpiegādā, lai izmantotu opciju “AutoFilter”. Tas vienkārši attiecas uz kuru šūnu diapazonu mums ir jāpielieto filtrs, piemēram, Range (“A1: D50”).
  • Lauks ir pirmais funkcijas arguments. Kad šūnu diapazons ir atlasīts, izmantojot objektu VBA RANGE, mums jāpiemin, kurai diapazona kolonnai mēs vēlamies lietot filtru.
  • 1. kritērijs ir tikai izvēlētajā laukā, kuru vērtību vēlaties filtrēt.
  • Operators tiek izmantots gadījumā, ja vēlaties izmantot 2. kritērija argumentu. Šajā opcijā mēs varam izmantot tālāk norādītās iespējas.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Redzamā nolaižamā izvēlne nozīmē, vai filtra simbolā lietotajā filtrā rādīt vai ne. Ja vēlaties parādīt, tad argumentu varat norādīt kā PATIESA vai arī FALSE.

Datu filtrēšanas piemēri, izmantojot VBA

1. piemērs - lietojiet vai noņemiet filtru datiem

Gadījumā, ja vēlaties datiem izmantot filtrēšanas opciju, mēs varam izslēgt un ieslēgt šo opciju. Piemēram, apskatiet zemāk redzamo datu attēlu.

1. darbība: piegādājiet datu diapazonu

Lai vispirms aktivizētu filtra opciju, mums jānorāda datu diapazons. Iepriekš redzamajā attēlā mūsu dati ir sadalīti no A1 līdz G31, tāpēc piegādājiet šo diapazonu, izmantojot objektu RANGE.

Kods:

Apakšfiltrs_piemērs () Diapazons ("A1: G31") Beigu apakšgrupa
2. solis: Pēc tam piekļūstiet automātiskās filtrēšanas funkcijai

Tagad piekļūstiet šī diapazona funkcijai AutoFilter.

Kods:

Apakšfiltra_piemērs () diapazons ("A1: G31"). Automātiskā filtra beigu apakšgrupa
3. darbība: palaidiet kodu, lai iespējotu filtru

Tas ir viss. Palaidiet šo kodu, lai iespējotu automātisko filtru.

Šis kods darbojas kā pārslēdzējs, un, ja filtrs netiek lietots, tas tiks lietots. Ja tas jau tiek lietots, tas tiks noņemts.

2. piemērs - filtru īpašās vērtības

Tagad mēs redzēsim, kā izmantot opcijas AutoFilter parametrus. Ņemiet tos pašus datus kā iepriekš. Piemēram, tagad mums ir jāfiltrē visi “vīriešu” dzimumu vārdi.

1. darbība: atlasiet diapazonu un atveriet automātiskā filtra funkciju
2. solis: Pēc tam atlasiet lauku

Funkcijas, ti, lauka pirmajā argumentā mums jāpiemin kolonnas atsauce, kuru mēs vēlētos filtrēt. Šajā piemērā mums ir jāfiltrē tikai “vīriešu” kandidāti, kas ir kolonna “C”, tāpēc kolonnas numurs ir 3.

3. solis: Tagad miniet kritērijus

Par šo piegādāto lauku mums jāpiemin 1. kritērijs, ti, kāda vērtība mums jāfiltrē minētajā laukā. Mums šajā slejā ir jāfiltrē “Male”.

Kods:

Apakšfiltrs_piemērs () Diapazons ("A1: G31"). Automātiskā filtra lauks: = 3, Kritēriji1: = "Vīrietis" Beigas
4. solis: un palaidiet kodu

Labi, tas arī viss. Šis kods tagad filtrēs tikai “vīriešu” kandidātus.

3. piemērs - argumenta OPERATOR izmantošana

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

Tagad iekš WITH paziņojuma sniedziet pirmos filtrējamos kritērijus.

Kods:

Apakšfiltrs_Example () ar diapazonu ("A1: G31"). Automātiskā filtra lauks: = 4, 1. kritērijs: = "Absolventa" beigas ar beigu apakšdaļu

Tagad nākamajā rindā rīkojieties tāpat kā “Valsts”, mainot “Lauks” kā 6 un Kritēriji - “ASV”.

Kods:

Apakšfiltrs_Example () ar diapazonu ("A1: G31"). Lauks AutoFilter: = 4, Kritēriji1: = "Absolvents". Lauks AutoFilter: = 6, Kritēriji1: = "ASV" Beigas ar beigu apakšdaļu

Tagad tas filtrēs “Absolventu” tikai valstī “ASV”.

Atceramās lietas

  • Pirmā lieta vispirms tiks piemērota tikai minētajam šūnu diapazonam.
  • Lauks nav nekas tajā slejā, kurā vēlaties filtrēt datus.
  • Ja filtrē vērtības no vairākām kolonnām, izmantojiet With.

Interesanti raksti...