VBA automatinis filtras - Kaip naudoti VBA automatinio filtravimo kriterijus duomenims filtruoti?

„Excel VBA AutoFilter“

„AutoFilter“ VBA naudojamas kaip išraiška ir jos sintaksė taip: „Išraiška“. Automatinis filtras (laukas, 1 kriterijus, operatorius, 2 kriterijus, išskleidžiamasis meniu) visi argumentai yra neprivalomi. Filtras yra naudingas filtruojant konkrečius duomenis iš didžiulių duomenų.

Tarkime, kad esate įprastas vartotojas, tada „Excel“ filtrai jums nėra keistas dalykas. Kai kurie įrankiai, kuriuos naudojame darbalapyje, taip pat yra integruoti į VBA, o automatinio filtro parinktis yra viena iš svarbiausių VBA prieinamų priemonių. Kaip visi žinome, „Excel“ filtrą galima rasti duomenų skirtuke.

Naudodami šią filtro parinktį galime žaisti su duomenimis. Jei susiduriate su minimaliu duomenų kiekiu ir jei manote, kad VBA automatinio filtravimo parinktis iš tikrųjų nereikalinga, galite toliau naudoti darbalapio filtro parinktį.

Jei susiduriate su didžiuliu duomenų kiekiu, galite naudoti automatinio filtro parinktį, kad supaprastintumėte proceso eigą.

AutoFilter funkcijos sintaksė

„AutoFilter“ programoje „Excel VBA“ galima naudoti su diapazono objektu. Kaip ir kitos mūsų funkcijos, taip pat ši turi savo sintaksę.

  • Diapazonas: Diapazonas yra tiesiog kokiame diapazone norėtumėte taikyti filtrą.
  • Laukas: laukas reiškia, kuriame diapazono stulpelyje, kurį pasirinkote, norite filtruoti duomenis. Stulpelis bus skaičiuojamas iš kairės į dešinę.

Pvz., Jei jūsų diapazonas yra nuo A1 iki D100 ir norite taikyti D stulpelio filtrą, tada jūsų lauko numeris yra 4, nes pasirinktame diapazone D yra ketvirtasis stulpelis.

1 kriterijus: lauke pasirinkote tai, ką norite filtruoti.

  • Operatorius: Jei norite taikyti daugiau nei vieną kriterijų duomenims filtruoti, turime naudoti operatoriaus simbolius. Kai kurie operatoriaus kodai yra tokie, kaip nurodyta toliau.

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

2 kriterijus: kokį antrą dalyką norite filtruoti kartu su 1 kriterijumi?

  • Matomas išskleidžiamasis meniu : Ar norite filtro stulpelyje rodyti filtro lango piktogramą žemyn. Jei norite rodyti TRUE, tai yra argumentas, jei ne FALSE.

Kaip pritaikyti filtrą naudojant „VBA AutoFilter“? (su pavyzdžiu)

Tarkime, kad žemiau duomenys, su kuriais dirbate.

Dabar naudodami VBA kodą pritaikysime filtrą. Norėdami pritaikyti filtrą, atlikite toliau nurodytus veiksmus.

1 veiksmas: pradėkite antrinę procedūrą, suteikdami makrokomandai pavadinimą.

Kodas:

Papildomas automatinis filtras_pavyzdys1 () Pabaigos sub

2 žingsnis: pirmas dalykas yra tai, kokiame diapazone turime taikyti filtrą. Tokiu atveju turime taikyti diapazoną nuo A1 iki E25.

Kodas:

Autom. Filtro_pavyzdys1 () diapazonas ("A1: E25") Pabaiga

3 žingsnis: Pasirinkus diapazoną, dabar pritaikykite automatinio filtro parinktį.

Kodas:

Papildomas automatinio filtro_pavyzdys1 () diapazonas ("A1: E25"). Automatinio filtro pabaigos antrinis

Mes nepasirenkame jokių verčių naudodami automatinį filtrą. Atvirkščiai, šiuo metu mes tiesiog pritaikome filtrą.

Paleiskite kodą naudodami klavišą F5 arba rankiniu būdu, jis įterps pasirinkto diapazono filtrą.

Taigi duomenims pritaikė filtrą. Dabar pamatysime, kaip filtruoti duomenis.

1 pavyzdys - filtruokite duomenis naudodami „AutoFilter“

Apsvarstykite tuos pačius duomenis iš aukščiau pateikto pavyzdžio. Dabar mes turime filtruoti „Finansų“ skyrių iš skyriaus stulpelio.

1 žingsnis: pritaikius filtrą, pirmiausia reikia paminėti, iš kurio stulpelio mes filtruojame duomenis. Tokiu atveju turime filtruoti duomenis iš stulpelio Departamentas, taigi stulpelio numeris, jei 5.

Kodas:

Papildomas automatinio filtro_pavyzdys1 () diapazonas ("A1: E25"). Automatinio filtro laukas: = 5, pabaigos antrinis

2 žingsnis: 1 kriterijus yra ne kas kitas, o tai, ką norime filtruoti iš 5 -ojo stulpelio. Taigi turime išfiltruoti „Finansus“.

Kodas:

Papildomas automatinio filtro_pavyzdys1 () diapazonas ("A1: E25"). Automatinio filtro laukas: = 5, kriterijai1: = "Finansai" Pabaiga

Taigi viskas, paleiskite šį kodą rankiniu būdu arba naudodami klavišą F5 jis iš sąrašo filtruos tik „Finansus“.

2 pavyzdys - „AutoFilter“ operatorius

Mes matėme, kaip filtruoti vieną vertę. Dabar pamatysime, kaip filtruoti kelis elementus. Tarkime, kad kartu su „Finansais“ norite filtruoti ir „Pardavimų“ skyrių, todėl tai galime padaryti naudodami Operatorius.

1 veiksmas: pritaikę pirmuosius kriterijus kitame argumente, pasirinkite operatorių kaip „xlOr“.

Kodas:

Papildomas automatinio filtro_pavyzdys2 () diapazonas ("A1: E25"). Automatinio filtro laukas: = 5, kriterijai1: = "finansai", operatorius: = xl arba pabaigos pabaiga

2 žingsnis: Dabar 2 kriterijuje paminėkite vertę kaip „Pardavimai“.

Kodas:

Papildomas automatinio filtro_pavyzdys2 () diapazonas ("A1: E25"). Automatinio filtro laukas: = 5, kriterijai1: = "finansai", operatorius: = xlOr, kriterijai2: = "pardavimai" pabaigos antrinis

3 žingsnis: Gerai, atlikite šį kodą naudodami F5 klavišą arba rankiniu būdu, jis filtruos „Finansus“ ir „Pardavimus“.

Operatoriaus argumente aš naudoju „xlOr“, tai filtre pasirinksite tiek „Finansai“, tiek „Pardavimai“ .

3 pavyzdys - filtruokite numerius naudodami automatinį filtrą

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:

Papildomas automatinio filtro_pavyzdys4 () su diapazonu ("A1: E25"). Automatinio filtro laukas: = 5, kriterijai1: = "finansai". Automatinio filtro laukas: = 2, kriterijai1: = "> 25000", operatorius: = xlAnd, kriterijai2: = " <40000 "pabaiga su pabaigos antrine dalimi

Tai filtruos du stulpelius.

Paleiskite šį kodą naudodami klavišą F5 arba galite paleisti rankiniu būdu.

Ką reikia atsiminti

  • Išbandykite įvairius derinius skiltyje „Operatorius“, kad gautumėte žinių apie „VBA AutoFilter“.
  • Jei nesate tikri, ką įdėti, pabandykite naudoti makrokomandą.
  • Jei norite filtruoti teksto reikšmes, turite jas pateikti dviem kabutėmis.
  • Naudokite WITH sakinį, kad pritaikytumėte daugiau nei vieną stulpelių filtrą.

Įdomios straipsniai...