VBA Autofilter | Kuidas kasutada andmete filtreerimiseks VBA automaatfiltri kriteeriume?

Exceli VBA automaatfilter

Automaatfiltrit VBA-s kasutatakse avaldisena ja selle süntaksit järgmiselt. Autofilter (väli, kriteeriumid 1, operaator, kriteeriumid 2, rippmenüü) on kõik argumendid valikulised. Filtrist on abi konkreetsete andmete filtreerimisel tohutute andmete hulgast.

Kui olete tavakasutaja, pole Exceli filtrid teie jaoks kummaline asi. Mõned tööriistad, mida töölehel kasutame, on integreeritud ka VBA-sse ja automaatfiltri valik on üks VBA-s saadaval olevatest olulistest tööriistadest. Nagu me kõik teame, on Exceli filter saadaval vahekaardil Andmed.

Selle filtri valiku abil saame andmetega ringi mängida. Kui teil on tegemist minimaalse andmemahuga ja kui arvate, et VBA automaatfiltri valikut pole tegelikult vaja, võite jätkata töölehe filtri valiku kasutamist.

Kui tegelete tohutu hulga andmetega, saate protsessivoo lihtsustamiseks kasutada suvandit Autofilter.

Autofiltri funktsiooni süntaks

Automaatfiltrit Exceli VBA-s saab kasutada vahemikuobjektiga. Nagu ka meie teistel funktsioonidel, on ka sellel oma süntaks.

  • Vahemik: Vahemik on lihtsalt selles vahemikus, kuhu soovite filtrit rakendada.
  • Väli: väli tähendab, millisest valitud vahemiku veerust soovite andmed välja filtreerida. Veerg loetakse vasakult paremale.

Näiteks kui teie vahemik on vahemikus A1 kuni D100 ja soovite rakendada veeru D jaoks filtrit, on teie välja number 4, kuna valitud vahemikus on D neljas veerg.

1. kriteerium: olete väljal valinud selle, mida soovite filtreerida.

  • Operaator: kui soovite andmete filtreerimiseks rakendada rohkem kui ühte kriteeriumi, peame kasutama operaatori sümboleid. Mõned operaatorikoodid on järgmised.

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

2. kriteerium: mis on teine ​​asi, mida soovite koos kriteeriumiga 1 filtreerida?

  • Nähtav rippmenüü: Kas soovite kuvada filtreeritud veerus ikooni filter Fop down Kui soovite kuvada TRUE, on argument, kui mitte FALSE.

Kuidas kasutada filtrit VBA AutoFilteri abil? (koos näitega)

Selle VBA automaatfiltri malli saate alla laadida siit - VBA automaatfiltri mall

Eeldage allpool andmeid, millega töötate.

Nüüd kasutame VBA koodi kasutades filtrit. Filtri rakendamiseks toimige järgmiselt.

1. samm: alustage alamprotseduuri, andes makrole nime.

Kood:

 Alamautofilter_näide1 () Lõpeta alam 

2. samm: esimene  asi on see, millises vahemikus peame filtrit rakendama. Sellisel juhul peame rakendama vahemikku vahemikust A1 kuni E25.

Kood:

 Automaatfiltri_näide1 () vahemik ("A1: E25") Lõpp alam 

3. samm: kui vahemik on valitud, rakendage nüüd automaatfiltri suvandit.

Kood:

 Alam Autofilter_näide1 () Vahemik ("A1: E25"). Autofiltri lõpp alam 

Me ei vali autofiltriga ühtegi väärtust, pigem rakendame filtrit just sellel ajahetkel.

Käivitage kood klahviga F5 või sisestage see käsitsi valitud vahemiku filtri.

Nii on see rakendanud andmetele filtrit. Nüüd näeme, kuidas andmeid välja filtreerida.

Näide # 1 - Andmete filtreerimine automaatfiltri abil

Mõelge samadele andmetele ülaltoodud näites. Nüüd peame osakonna veerust välja filtreerima osakonna „Finants”.

1. samm: pärast filtri rakendamist tuleb esimese argumendina mainida, millisest veerust me andmeid filtreerime. Sellisel juhul peame veeru Osakond andmed filtreerima, seega veeru number, kui 5.

Kood:

 Alamautomaatfiltri_näide1 () vahemik ("A1: E25"). Autofiltri väli: = 5, lõpualam 

2. samm: 1. kriteerium pole midagi muud kui see, mida me tahame 5. veerust filtreerida. Seega peame filtreerima „rahanduse”.

Kood:

 Alam Autofilter_näide1 () vahemik ("A1: E25"). Autofiltri väli: = 5, Kriteeriumid1: = "Finants" Lõpp alam 

Nii et see on kõik, käivitage see kood käsitsi või klahvi F5 kaudu filtreerib see loendist välja ainult „Finance”.

Näide # 2 - automaatfiltri operaator

Oleme näinud, kuidas üksikut väärtust filtreerida. Nüüd näeme, kuidas filtreerida mitu elementi. Oletame, et koos finantsiga soovite filtreerida ka osakonna „Müük“, nii et saame seda teha operaatorite abil.

1. samm: pärast järgmises argumendis esimeste kriteeriumide rakendamist valige operaatoriks “xlOr”.

Kood:

 Alam Autofilter_näide2 () Vahemik ("A1: E25"). Autofiltri väli: = 5, Kriteeriumid1: = "Rahandus", Operaator: = xl Või Lõpp alam 

2. samm: mainige nüüd kriteeriumis 2 väärtusena „Müük”.

Kood:

 Alam Autofilter_näide2 () vahemik ("A1: E25"). Autofiltri väli: = 5, Kriteeriumid1: = "Rahandus", Operaator: = xlOr, Kriteeriumid2: = "Müük" Lõpp-alam 

Samm 3: Ok, valmis, käivitage see kood klahviga F5 või käsitsi filtreerib see nii rahanduse kui ka müügi.

Operatori argumendis olen kasutanud "xlOr", see valib filtri all nii "Finance" kui ka "Sales" .

Näide # 3 - Numbrite filtreerimine automaatfiltri abil

Kasutades operaatori sümbolit “XlAnd”, saame ka numbrid välja filtreerida. Oletame, et veerust Ületunnid soovite välja filtreerida kõik väärtused, mis on> 1000, kuid <3000.

1. samm: esimene  asi on välja muutmine 5-lt 4-le.

Kood:

 Alam Autofilter_näide3 () Vahemik ("A1: E25"). Autofiltri väli: = 4 Lõpp-alam 

2. samm: 1. kriteerium on> 1000.

Kood:

 Alam Autofilter_näide3 () vahemik ("A1: E25"). Autofiltri väli: = 4, Kriteeriumid1: = "> 1000", Lõpp alam 

3. samm: siin peame vastama mõlemale kriteeriumile, nii et kasutage operaatorina "xlAnd".

Kood:

 Alam Autofilter_näide3 () vahemik ("A1: E25"). Autofiltri väli: = 4, Kriteeriumid1: = "> 1000", Operaator: = xlAnd, Lõpp alam 

4. samm: 2. kriteeriumi väärtus on <3000.

Kood:

 Alam Autofilter_näide3 () vahemik ("A1: E25"). Autofiltri väli: = 4, Kriteeriumid1: = "> 1000", Operaator: = xlJa, Kriteeriumid2: = "<3000" Lõpp alam 

Kui käivitate selle koodi käsitsi või läbi klahvi F5, filtreerib see veerus Overtime kõik väärtused, mis on> 1000, kuid <3000.

Näide # 4 - filtreerimine erinevatest veergudest automaatfiltri abil

Erinevate veergude andmete välja filtreerimiseks peame kasutama erinevat protsessi. Oletame, et soovite filtreerida osakonna "Rahandus" ja ka palganumbrid, mis on> 25000, kuid <40000.

Võite kasutada järgmist koodi.

Kood:

 Alamautomaatfiltri_näide4 () koos vahemikuga ("A1: E25"). Väli Autofilter: = 5, Kriteeriumid1: = "Rahandus". Väli Autofilter: = 2, Kriteeriumid1: = "> 25000", Operaator: = xlAnd, Kriteeriumid2: = " <40000 "lõpp lõpuga alam 

See filtreerib välja kaks veergu.

Käivitage see kood klahviga F5 või saate käivitada käsitsi.

Asjad, mida meeles pidada

  • Proovige jaotises Operaator erinevaid kombinatsioone, et saada teadmisi VBA AutoFilterist.
  • Kui te pole kindel, mida sisse seada, proovige makrosalvesti abil.
  • Kui soovite tekstiväärtused välja filtreerida, peate need sisestama jutumärkides.
  • Kasutage lauset WITH mitme veergufiltri rakendamiseks.