Cum se aplică și se șterge filtrul din date folosind VBA?

Filtru VBA Excel

Instrumentul de filtrare VBA este utilizat pentru a sorta sau pentru a prelua datele specifice dorite, funcția Autofilter este utilizată ca funcție de foaie de lucru, cu toate acestea această funcție are și alte argumente care sunt opționale și singurul argument obligatoriu este expresia care acoperă intervalul de exemplu foi de lucru („Sheet1”). Range („A1”). Autofilterul va aplica filtrul pe prima coloană.

Filtrul în VBA funcționează la fel cum funcționează în foaia de lucru. Singurul lucru diferit este că putem automatiza sarcina de rutină de filtrare a datelor prin codificare.

AutoFilter este o funcție care include multe valori de sintaxă. Mai jos sunt parametrii implicați în funcția AutoFilter.

  • Gama este primul lucru pe care trebuie să-l furnizăm pentru a utiliza opțiunea „AutoFilter”. Aceasta este pur și simplu pentru ce gamă de celule trebuie să aplicăm filtrul, de exemplu, Range („A1: D50”).
  • Câmpul este primul argument din funcție. Odată ce gama de celule este selectată prin obiectul VBA RANGE, trebuie să menționăm pentru care coloană din intervalul dorim să aplicăm filtrul.
  • Criteriul 1 nu este altceva decât în ​​câmpul selectat , ce valoare doriți să filtrați.
  • Operatorul este utilizat în cazul în care doriți să utilizați argumentul Criteria 2 . În această opțiune, putem folosi opțiunile de mai jos.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Meniul derulant vizibil se referă la afișarea sau nu a unui simbol de filtrare în coloana filtrului aplicat. Dacă doriți să afișați, puteți furniza argumentul ca ADEVĂRAT sau altfel FALS.

Exemple de filtrare a datelor folosind VBA

Exemplul nr. 1 - Aplicați sau eliminați filtrul la date

În cazul în care doriți să aplicați opțiunea de filtrare a datelor, atunci putem opri și activa această opțiune. De exemplu, uitați-vă la imaginea de date de mai jos.

Pasul 1: furnizați intervalul de date

Pentru a activa mai întâi opțiunea de filtrare, trebuie să furnizăm care este gama noastră de date. În imaginea de mai sus, datele noastre sunt răspândite de la A1 la G31, deci furnizați acest interval utilizând un obiect RANGE.

Cod:

Subfiltru_Exemplu () Interval ("A1: G31") Încheiere sub
Pasul 2: Apoi accesați funcția AutoFilter

Acum accesați funcția AutoFilter pentru această gamă.

Cod:

Sub Filter_Example () Range ("A1: G31"). AutoFilter End Sub
Pasul 3: Rulați codul pentru a activa filtrul

Asta e tot. Rulați acest cod pentru a activa filtrul automat.

Acest cod funcționează ca o comutare și, dacă filtrul nu este aplicat, atunci se va aplica. Dacă este deja aplicat, se va elimina.

Exemplul # 2 - Valori specifice filtrului

Acum vom vedea cum se utilizează parametrii opțiunii AutoFilter. Luați aceleași date ca mai sus. De exemplu, acum trebuie să filtrăm toate numele de sex „masculin”.

Pasul 1: Selectați Range și Deschideți funcția Autofilter
Pasul 2: Apoi selectați câmpul

În primul argument al funcției, adică, Câmp, trebuie să menționăm referința coloanei pe care am dori să o filtrăm. În acest exemplu, trebuie să filtrăm numai candidații „bărbați”, care este coloana „C”, deci numărul coloanei este 3.

Pasul 3: Menționați acum criteriile

Acum, pentru acest câmp furnizat, trebuie să menționăm criteriile 1 , adică ce valoare trebuie să filtrăm în câmpul menționat . Trebuie să filtrăm „Bărbat” din această coloană.

Cod:

Sub Filter_Example () Range ("A1: G31"). Câmpul AutoFilter: = 3, Criteria1: = Sub "End" Sub
Pasul 4: Și rulați codul

Ok, asta e tot. Acest cod va filtra acum doar candidații „bărbați”.

Exemplul # 3 - Utilizarea argumentului OPERATOR

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

Acum, în instrucțiunea WITH, furnizați primele criterii care trebuie filtrate.

Cod:

Sub Filter_Example () With Range ("A1: G31"). Câmpul AutoFilter: = 4, Criteria1: = "Absolvent" End With End Sub

Acum, în rândul următor, faceți același lucru pentru „Țară” schimbând „Câmp” ca 6 și Criterii ca „SUA”.

Cod:

Sub Filter_Example () With Range ("A1: G31"). Câmpul AutoFilter: = 4, Criteria1: = "Absolvent". Câmpul AutoFilter: = 6, Criteria1: = "SUA" End With End Sub

Acum, acest lucru va filtra „Absolvent” numai pentru țara „SUA”.

Lucruri de amintit

  • Primul lucru va fi aplicat mai întâi doar pentru intervalul menționat de filtru de celule.
  • Câmpul nu este nimic în coloana în care doriți să filtrați datele.
  • În cazul filtrării valorilor din mai multe coloane, utilizați Cu.

Articole interesante...