VBA AutoFilter - Cum se utilizează criteriile VBA AutoFilter pentru a filtra datele?

Excel VBA AutoFilter

AutoFilter în VBA este utilizat ca expresie și sintaxa pentru acesta după cum urmează Expresie. Autofiltru (Câmp, Criterii 1, Operator, Criterii 2, Meniu) toate argumentele sunt opționale. Filtrul este util în filtrarea datelor particulare din datele uriașe.

Să presupunem că sunteți un utilizator obișnuit, atunci filtrele Excel nu sunt un lucru ciudat pentru dvs. Unele dintre instrumentele pe care le folosim în foaia de lucru sunt, de asemenea, integrate în VBA, iar opțiunea de filtrare automată este unul dintre instrumentele importante disponibile în VBA. După cum știm cu toții, filtrul excel este disponibil sub fila date.

Folosind această opțiune de filtrare, ne putem juca cu datele. Dacă aveți de-a face cu o cantitate minimă de date și dacă credeți că opțiunea de filtrare automată VBA nu este cu adevărat necesară, puteți continua să utilizați opțiunea de filtrare a foii de lucru.

Dacă aveți de-a face cu o cantitate imensă de date, atunci puteți utiliza opțiunea Autofilter pentru a simplifica fluxul procesului.

Sintaxa funcției AutoFilter

AutoFilter în Excel VBA poate fi utilizat cu un obiect de gamă. La fel ca celelalte funcții ale noastre, și aceasta are propria sa sintaxă.

  • Interval: Intervalul este pur și simplu în intervalul în care doriți să aplicați filtrul.
  • Câmp: Câmp înseamnă din care coloană din intervalul pe care l-ați selectat doriți să filtrați datele. O coloană va fi numărată de la stânga la dreapta.

De exemplu, dacă intervalul dvs. este de la A1 la D100 și doriți să aplicați un filtru pentru coloana D, atunci numărul câmpului dvs. este 4 deoarece, în intervalul selectat, D este a patra coloană.

Criteriul 1: În câmp, ați selectat ceea ce doriți să filtrați.

  • Operator: Dacă doriți să aplicați mai multe criterii pentru filtrarea datelor, atunci trebuie să folosim simboluri operator. Unele dintre codurile operatorului sunt cele de mai jos.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Criteriul 2: Care este al doilea lucru pe care doriți să îl filtrați împreună cu Criteriul 1?

  • Meniu vizibil: doriți să afișați pictograma filtru în jos în coloana filtrată. Dacă doriți să afișați TRUE este argumentul, dacă nu FALS, este argumentul.

Cum se aplică filtrul utilizând VBA AutoFilter? (cu exemplu)

Să presupunem mai jos datele pe care lucrați.

Acum, folosind codul VBA, vom aplica filtrul. Urmați pașii de mai jos pentru a aplica filtrul.

Pasul 1: Porniți subprocedura dând un nume macro-ului.

Cod:

Sub AutoFilter_Example1 () End Sub

Pasul 2: primul lucru este în ce interval trebuie să aplicăm filtrul. În acest caz, trebuie să aplicăm intervalul de la gama A1 la E25.

Cod:

Sub AutoFilter_Example1 () Range ("A1: E25") End Sub

Pasul 3: Odată ce gama a fost selectată, aplicați acum opțiunea de filtrare automată.

Cod:

SubFiltru_Exemplu1 () Interval ("A1: E25"). Filtru auto

Nu selectăm valori folosind un autofiltru. Mai degrabă, doar aplicăm filtrul în acest moment.

Rulați codul utilizând tasta F5 sau manual, acesta va introduce filtru pentru intervalul selectat.

Deci, a aplicat un filtru datelor. Acum vom vedea cum să filtrăm datele.

Exemplul # 1 - Filtrează datele folosind AutoFilter

Luați în considerare aceleași date din exemplul de mai sus. Acum trebuie să filtrăm departamentul „Finanțe” din coloana departamentului.

Pasul 1: După aplicarea filtrului, primul argument este să menționăm din ce coloană filtrăm datele. În acest caz, trebuie să filtrăm datele din coloana Departament, deci numărul coloanei este 5.

Cod:

Sub AutoFilter_Example1 () Range ("A1: E25"). Câmpul AutoFilter: = 5, End Sub

Pasul 2: Criteriul 1 nu este altceva decât ceea ce vrem să filtrăm din coloana a 5- a . Deci, trebuie să filtrăm „Finanțe”.

Cod:

Sub AutoFilter_Example1 () Range ("A1: E25"). Câmpul AutoFilter: = 5, Criteria1: = "Finanțare" End Sub

Deci asta este tot, rulați acest cod manual sau, prin intermediul tastei F5, acesta va filtra doar „Finanțare” din listă.

Exemplul # 2 - Operator în AutoFilter

Am văzut cum să filtrăm valoarea unică. Acum vom vedea cum se filtrează mai multe elemente. Să presupunem că, împreună cu „Finanțe”, doriți să filtrați și departamentul „Vânzări”, astfel încât să putem face acest lucru folosind Operatori.

Pasul 1: După aplicarea primelor criterii în următorul argument, selectați operatorul ca „xlOr”.

Cod:

Sub AutoFilter_Example2 () Range ("A1: E25"). Câmpul AutoFilter: = 5, Criteria1: = "Finanțare", Operator: = xlOr End Sub

Pasul 2: Acum, în Criteriul 2, menționați valoarea ca „Vânzări”.

Cod:

Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xlOr, Criteria2: = "Sales" End Sub

Pasul 3: Ok, terminat, rulați acest cod folosind tasta F5 sau manual, acesta va filtra atât „Finanțe”, cât și „Vânzări”.

În argumentul Operator, am folosit „xlOr”, aceasta va selecta Filtru ” și „Vânzări” sub filtru.

Exemplul # 3 - Filtrarea numerelor folosind AutoFilter

Using the Operator symbol “XlAnd,” we can filter out numbers as well. Assume from the Overtime column you want to filter out all the values which are>1000 but <3000.

Step 1: The first thing is changing the Field from 5 to 4.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4 End Sub

Step 2: Criteria 1 is>1000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4,Criteria1:=">1000", End Sub

Step 3: Here, we need to match both the criteria, so use “xlAnd” as the operator.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, End Sub

Step 4: Criteria 2 will <3000.

Code:

Sub AutoFilter_Example3() Range("A1:E25").AutoFilter Field:=4, Criteria1:=">1000", Operator:=xlAnd, Criteria2:="<3000" End Sub

Now, if you run this code manually or through the F5 key, it will filter out all the values from the Overtime column, which are>1000 but <3000.

Example #4 - Filter from Different Columns using AutoFilter

In order to filter out data from different columns, we need to use a different process. Assume you want to filter out the “Finance” department and also you want to filter out Salary numbers, which are>25000 but <40000.

You can use the below code does that.

Code:

Sub AutoFilter_Example4 () With Range ("A1: E25"). Câmpul AutoFilter: = 5, Criteria1: = "Finanțare". Câmpul AutoFilter: = 2, Criteria1: = "> 25000", Operator: = xlAnd, Criteria2: = " <40000 "Sfârșit cu sfârșitul Sub

Aceasta va filtra două coloane.

Rulați acest cod folosind tasta F5 sau puteți rula manual.

Lucruri de amintit

  • Încercați diferite combinații sub Operator pentru a obține cunoștințele despre VBA AutoFilter.
  • Dacă nu sunteți sigur ce să introduceți, încercați să utilizați macro recorderul.
  • Dacă doriți să filtrați valorile textului, atunci trebuie să le furnizați între ghilimele duble.
  • Utilizați instrucțiunea WITH pentru a aplica mai multe filtre de coloană.

Articole interesante...