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.