VBA -s saate luua Automaatne filter lahtrivahemiku või Exceli tabeli filtreerimiseks. Selles õpetuses saate teada, kuidas luua Automaatne filter ühe või mitme veeru jaoks ja mitme tingimuse jaoks.
Kui soovite õppida täpsema filtri kasutamist VBA -s, klõpsake siin: VBA täiustatud filter
Automaatse filtri loomine VBA -s
Esiteks näete, kuidas lihtsalt luua Automaatne filter vahemikus, nii et kasutaja saab andmeid filtreerida. Näidetes kasutatavad andmed on pildil 1:
Pilt 1. AutoFiltri näidete andmed
Siin on loomise kood Automaatne filter:
1 | Sheet1.Range ("A1: E1"). Automaatne filter |
Et võimaldada Automaatne filter, peame määrama vahemiku päise, meie puhul A1: E1, ja kasutama Automaatne filter objekti meetod Vahemik. Selle tulemusel on meie andmevahemikus aktiveeritud filtrid:
Pilt 2. Automaatne filter on andmete jaoks lubatud
Autofilter välja ja kriteeriumide parameetritega
VBA võimaldab ka teatud välja automaatselt teatud väärtustega filtreerida.
Selleks peate kasutama parameetreid Väli ja Kriteeriumid1 meetodist Automaatne filter. Selles näites tahame filtreerida kolmanda veeru (Toode) eest Toode A ainult. Siin on kood:
12 | Sheet1.Range ("A1: E1"). Automaatfiltri väli: = 3, _Kriteeriumid 1: = "Toode A" |
Aastal Väli parameetri abil saate vahemikus (mitte Excelis) määrata veeru numbri Kriteeriumid1 saate sisestada väärtuse, mida soovite filtreerida. Pärast koodi täitmist näeb meie tabel välja selline:
Pilt 3. AutoFilter koos välja ja kriteeriumidega
Nagu näete, ainult read koos Toode A kolmandas veerus kuvatakse andmevahemikus.
Välifiltri ja mitme kriteeriumi väärtustega automaatne filtreerimine
Kui soovite filtreerida ühte välja mitme väärtusega, peate kasutama parameetrit Operaator selle Automaatne filter meetod. Mitme väärtuse filtreerimiseks peate määrama Operaator et xlFilterValues ja ka panna kõik väärtused Kriteeriumid massiivis. Selles näites filtreerime Toode veerg Toode A ja Toode B. Siin on näide koodist:
123 | Sheet1.Range ("A1: E1"). Automaatfiltri väli: = 3, _Kriteeriumid 1: = massiiv ("toode A", "toode B"), _Operaator: = xlFilterValues |
Koodi täitmisel saame ainult ridu tootega A ja tootega B, nagu näete pildil 4:
Pilt 4. Mitme kriteeriumi väärtusega automaatne filter
Automaatse filtreerimise andmevahemik mitme kriteeriumiga
Kui soovite filtreerida välja mitme kriteeriumiga, peate kasutama Kriteeriumid1 ja Kriteeriumid2 parameetrid, aga ka Operaator xlJa.
Järgmises näites filtreerime esimese veeru (Kuupäev) kuupäevade kohta detsembris 2022. Seetõttu on meil kaks kriteeriumi: kuupäev, mis on suurem kui 12/01/18 ja väiksem kui 12/31/18. See on kood:
1234 | Sheet1.Range ("A1: E1"). Automaatfiltri väli: = 1, _Kriteeriumid 1: = "> = 12.01.2018", _Operaator: = xlJa, _Kriteeriumid 2: = "<= 31.12.2018" |
Koodi täitmisel näete, et andmevahemikus kuvatakse ainult detsembri kuupäevad:
Pilt 5. AutoFilter, millel on väljale mitu kriteeriumi
AutoFilter meetodi operaatori parameetrite väärtused
Järgmises tabelis. näete kõiki võimalikke väärtusi Operaator AutoFilter meetodi parameeter ja nende kirjeldused:
Operaator | Kirjeldus |
xlJa | Sisaldab mitmeid kriteeriume - kriteeriumid 1 ja kriteeriumid 2 |
xlVõi | Sisaldab ühte mitmest kriteeriumist - kriteerium 1 või kriteerium 2 |
xlTop10Items | Filtreerib teatud arvu kõrgeima asetusega väärtusi (number on määratud kriteeriumis 1) |
xlBottom10Items | Filtreerib teatud arvu madalaima asetusega väärtusi (number on määratud kriteeriumis 1) |
xlTop10Percent | Filtreerib teatud protsendi kõrgeima asetusega väärtustest (% on määratud kriteeriumis 1) |
xlPõhi10Protsent | Filtreerib teatud protsendi madalaima asetusega väärtustest (% on määratud kriteeriumis 1) |
xlFilterValues | Sisaldab massiiviga mitmeid kriteeriumiväärtusi |
xlFilterCellColor | Filtreerib värvide lahtrid |
xlFilterFontColor | Filtreerib lahtrite fondivärvid |
xlFIlterIcon | Filtreerib ikoone |
xlFilterDynamic | Dünaamiliste väärtuste filtreerimine |