VBA automaatfilter

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

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave