Kaip pritaikyti ir ištrinti filtrą iš duomenų naudojant VBA?

„Excel VBA“ filtras

VBA filtro įrankis naudojamas norint surūšiuoti arba gauti norimus duomenis, funkcija Autofilter naudojama kaip darbalapio funkcija, tačiau ši funkcija turi kitų argumentų, kurie yra neprivalomi, ir vienintelis privalomas argumentas yra išraiška, apimanti diapazoną, pvz. darbalapiai („Sheet1“). Diapazonas („A1“). Automatinis filtras pritaikys filtrą pirmame stulpelyje.

Filtras VBA veikia taip pat, kaip ir darbalapyje. Vienintelis dalykas yra tas, kad mes galime automatizuoti įprastą duomenų filtravimo užduotį koduodami.

„AutoFilter“ yra funkcija, apimanti daug sintaksės reikšmių. Žemiau pateikiami parametrai, susiję su funkcija „AutoFilter“.

  • Diapazonas yra pirmas dalykas, kurį turime pateikti norėdami naudoti parinktį „AutoFilter“. Tai paprasčiausiai tam langelių diapazonui reikia taikyti filtrą, pavyzdžiui, diapazonas („A1: D50“).
  • Laukas yra pirmasis funkcijos argumentas. Pasirinkus langelių diapazoną per objektą VBA RANGE, turime paminėti, kuriame diapazono stulpelyje norime naudoti filtrą.
  • 1 kriterijus yra ne kas kita, o tik pasirinktame lauke, kurią vertę norite filtruoti.
  • Operatorius naudojamas tuo atveju, jei norite naudoti 2 kriterijų argumentą. Šioje parinktyje galime naudoti toliau pateiktas parinktis.
    xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Matomas išskleidžiamasis meniu yra tai, ar filtro simbolį reikia rodyti pritaikytame filtro stulpelyje, ar ne. Jei norite rodyti, argumentą galite pateikti kaip „TRUE“ arba dar „FALSE“.

Duomenų filtravimo naudojant VBA pavyzdžiai

1 pavyzdys - pritaikykite arba pašalinkite filtrą duomenims

Jei norite taikyti filtro parinktį duomenims, galime išjungti ir įjungti šią parinktį. Pavyzdžiui, pažiūrėkite į toliau pateiktą duomenų vaizdą.

1 veiksmas: pateikite duomenų diapazoną

Norėdami pirmiausia suaktyvinti filtro parinktį, turime pateikti mūsų duomenų diapazoną. Ankstesniame paveikslėlyje mūsų duomenys yra paskirstyti nuo A1 iki G31, todėl pateikite šį diapazoną naudodami objektą RANGE.

Kodas:

Antrinis filtras_pavyzdys () diapazonas ("A1: G31") Pabaigos antrinis filtras
2 žingsnis: Tada pasiekite „AutoFilter“ funkciją

Dabar pasiekite šio diapazono „AutoFilter“ funkciją.

Kodas:

Papildomo filtro_pavyzdys () diapazonas ("A1: G31"). Automatinio filtro pabaigos antrinis
3 žingsnis: paleiskite kodą, kad įgalintumėte filtrą

Tai viskas. Paleiskite šį kodą, kad įgalintumėte automatinį filtrą.

Šis kodas veikia kaip perjungiklis, o jei filtras nebus pritaikytas, jis bus pritaikytas. Jei jis jau pritaikytas, jis bus pašalintas.

2 pavyzdys - filtruokite konkrečias vertes

Dabar pamatysime, kaip naudoti parinkties „AutoFilter“ parametrus. Paimkite tuos pačius duomenis kaip ir aukščiau. Pavyzdžiui, dabar turime išfiltruoti visus „vyrų“ lyties pavadinimus.

1 žingsnis: Pasirinkite diapazoną ir atidarykite automatinio filtro funkciją
2 žingsnis: Tada pasirinkite lauką

Pirmajame funkcijos, ty lauko, argumente turime paminėti stulpelio nuorodą, kurią norėtume išfiltruoti. Šiame pavyzdyje turime filtruoti tik kandidatus „Vyrai“, tai yra „C“ stulpelis, taigi stulpelio numeris yra 3.

3 žingsnis: Dabar paminėkite kriterijus

Dabar apie šį pateiktą lauką turime paminėti 1 kriterijų, ty kokią vertę turime filtruoti minėtame lauke. Iš šio stulpelio turime filtruoti „Vyrą“.

Kodas:

Antrinio filtro_pavyzdys () diapazonas ("A1: G31"). Automatinio filtro laukas: = 3, kriterijai1: = "Vyras" Pabaiga
4 žingsnis: ir paleiskite kodą

Gerai, kad viskas. Šis kodas dabar filtruos tik kandidatus „Vyrai“.

3 pavyzdys - argumento „OPERATOR“ naudojimas

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

Pateikite pirmuosius filtruojamus kriterijus su sąrašu WITH.

Kodas:

Antrinis filtras_pavyzdys () su diapazonu ("A1: G31"). Automatinio filtro laukas: = 4, kriterijai1: = "Baigęs" pabaiga su pabaigos antrine dalimi

Dabar kitoje eilutėje atlikite tą patį veiksmą „Šalis“ pakeisdami lauką „6“ ir „Kriterijai“ kaip „JAV“.

Kodas:

Antrinis filtras_pavyzdys () su diapazonu („A1: G31“). „AutoFilter“ laukas: = 4, kriterijai1: = „Baigęs“. „AutoFilter“ laukas: = 6, kriterijai1: = "JAV" pabaiga su pabaigos antrine

Dabar tai filtruos „Absolventą“ tik šalyje „JAV“.

Ką reikia atsiminti

  • Pirmas dalykas bus taikomas tik minėtam ląstelių filtro diapazonui.
  • Lauke nėra nieko, kuriame stulpelyje norite filtruoti duomenis.
  • Jei filtruojate vertes iš daugiau nei vieno stulpelio, naudokite „ With“.

Įdomios straipsniai...