Kako primijeniti i izbrisati filtar iz podataka pomoću VBA?

Excel VBA filtar

Alat VBA filtar koristi se za sortiranje ili dohvaćanje željenih podataka, funkcija automatskog filtriranja koristi se kao funkcija radnog lista, međutim ova funkcija ima i druge argumente koji su neobavezni, a jedini obvezni argument je izraz koji pokriva raspon, na primjer radni listovi ("Sheet1"). Raspon ("A1"). Autofilter će primijeniti filtar na prvi stupac.

Filtar u VBA radi na isti način kao i na radnom listu. Jedino što se razlikuje je što možemo automatizirati rutinski zadatak filtriranja podataka putem kodiranja.

AutoFilter je funkcija koja uključuje mnoge vrijednosti sintakse. Ispod su parametri koji su uključeni u funkciju AutoFilter.

  • Raspon je prva stvar koju moramo ponuditi da bismo koristili opciju "AutoFilter". Ovo je jednostavno za koji raspon ćelija trebamo primijeniti filtar, na primjer, Raspon ("A1: D50").
  • Polje je prvi argument u funkciji. Jednom kada je odabran opseg ćelija kroz objekt VBA RANGE, moramo spomenuti za koji stupac raspona želimo primijeniti filtar.
  • Kriterij 1 nije ništa drugo nego u odabranom polju koju vrijednost želite filtrirati.
  • Operator se koristi u slučaju ako želite koristiti argument Kriteriji 2 . U ovoj opciji možemo koristiti dolje navedene opcije.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Vidljivo padajuće mjesto odnosi se na to hoće li se simbol filtra prikazivati ​​u stupcu primijenjenom na filtru ili ne. Ako želite prikazati, tada argument možete navesti kao TRUE ili FALSE.

Primjeri za filtriranje podataka pomoću VBA

Primjer # 1 - Primijenite ili uklonite filtar na podatke

Ako želite primijeniti opciju filtra na podatke, možemo isključiti i uključiti ovu opciju. Na primjer, pogledajte donju podatkovnu sliku.

Korak 1: Navedite raspon podataka

Da bismo prvo aktivirali opciju filtra, moramo unijeti koliki je naš raspon podataka. Na gornjoj su slici naši podaci rašireni od A1 do G31, pa navedite ovaj raspon pomoću objekta RANGE.

Kodirati:

Podfilter_Primjer () Raspon ("A1: G31") Kraj Pod
Korak 2: Zatim pristupite funkciji AutoFilter

Sada pristupite funkciji AutoFilter za ovaj raspon.

Kodirati:

Podfilter_Primjer () Raspon ("A1: G31"). Kraj automatskog filtra Sub
Korak 3: Pokrenite kôd da biste omogućili filtar

To je sve. Pokrenite ovaj kôd da biste omogućili automatski filtar.

Ovaj kôd djeluje kao prekidač, a ako se filtar ne primijeni, primijenit će se. Ako je već primijenjeno, tada će se ukloniti.

Primjer # 2 - Filtriranje specifičnih vrijednosti

Sada ćemo vidjeti kako koristiti parametre opcije AutoFilter. Uzmite iste podatke kao gore. Na primjer, sada moramo filtrirati sva "muška" rodna imena.

Korak 1: Odaberite domet i otvorite funkciju automatskog filtra
Korak 2: Zatim odaberite polje

U prvom argumentu funkcije, tj. Field, moramo spomenuti referencu stupca koju bismo željeli filtrirati. U ovom primjeru moramo filtrirati samo kandidate "Muški", što je stupac "C", tako da je broj stupca 3.

Korak 3: Sada spomenite kriterije

Sada za ovo isporučeno polje moramo spomenuti Kriterij 1, tj. Koju vrijednost trebamo filtrirati u spomenutom polju. Iz ovog stupca moramo filtrirati "Muško".

Kodirati:

Podfilter_Primjer () Raspon ("A1: G31"). Polje automatskog filtra: = 3, Kriteriji1: = "Muški" Kraj Sub
4. korak: i pokrenite kod

Ok, to je sve. Ovaj će kôd sada filtrirati samo "muške" kandidate.

Primjer # 3 - Upotreba argumenta 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

Sada unutar izjave WITH navedite prve kriterije koje treba filtrirati.

Kodirati:

Podfilter_Primjer () s rasponom ("A1: G31"). Polje AutoFilter: = 4, Kriteriji1: = "Diplomiranje" Završi s krajnjim sub

Sada u sljedećem retku učinite isto za "Država" promjenom "Polje" kao 6 i Kriteriji kao "SAD".

Kodirati:

Podfilter_Primjer () s rasponom ("A1: G31"). Polje AutoFilter: = 4, Kriteriji1: = "Diplomirano". Polje AutoFiltera: = 6, Kriteriji1: = "US" Kraj s krajnjim sub

Sada će ovo filtrirati "Diplomirati" samo za zemlju "SAD".

Stvari koje treba zapamtiti

  • Prvo će se primijeniti samo za spomenuti raspon ćelijskog filtra.
  • Polje nije ništa u kojem stupcu želite filtrirati podatke.
  • U slučaju da filtrirate vrijednosti iz više stupaca, upotrijebite With.

Zanimljivi članci...