VBA samodejni filter

V VBA lahko ustvarite Samodejni filter za filtriranje obsega celic ali Excelove tabele. V tej vadnici se boste naučili ustvarjati Samodejni filter za enega ali več stolpcev in za več pogojev.

Če želite izvedeti, kako uporabljati napredni filter v VBA, kliknite tukaj: Napredni filter VBA

Ustvarjanje samodejnega filtra v VBA

Najprej boste videli, kako samo ustvarjati Samodejni filter v razponu, tako da lahko uporabnik filtrira podatke. Podatki, ki jih bomo uporabili v primerih, so na sliki 1:

Slika 1. Podatki za primere samodejnega filtriranja

Tu je koda za ustvarjanje Samodejni filter:

1 List1.Range ("A1: E1"). Samodejni filter

Da bi omogočili Samodejni filter, moramo določiti glavo obsega, v našem primeru A1: E1, in uporabiti Samodejni filter metoda predmeta Domet. Zato so v našem podatkovnem obsegu aktivirani filtri:

Slika 2. Samodejni filter za podatke omogočen

Samodejni filter s parametri polja in meril

VBA vam omogoča tudi samodejno filtriranje določenega polja z določenimi vrednostmi.

Če želite to narediti, morate uporabiti parametre Polje in Merila 1 metode Samodejni filter. V tem primeru želimo filtrirati tretji stolpec (Izdelek) za Izdelek A. samo. Tukaj je koda:

12 List1.Range ("A1: E1"). Polje samodejnega filtriranja: = 3, _Merila1: = "Izdelek A"

V Polje parameter, lahko nastavite številko stolpca v obsegu (ne v Excelu), medtem ko v Merila 1 lahko vnesete vrednost, ki jo želite filtrirati. Po izvedbi kode je naša tabela videti tako:

Slika 3. Samodejni filter s poljem in merili

Kot lahko vidite, samo vrstice z Izdelek A. v tretjem stolpcu so prikazani v obsegu podatkov.

Samodejni filter z vrednostmi polja in več meril

Če želite filtrirati eno polje z več vrednostmi, morate uporabiti parameter Operater od Samodejni filter metoda. Če želite filtrirati več vrednosti, morate nastaviti Operater do xlFilterValues in tudi postaviti vse vrednosti Merila v nizu. V tem primeru filtriramo Izdelek stolpec za Izdelek A. in Izdelek B.. Tu je primer kode:

123 List1.Range ("A1: E1"). Polje samodejnega filtriranja: = 3, _Merila1: = niz ("izdelek A", "izdelek B"), _Operater: = xlFilterValues

Ko izvedemo kodo, dobimo samo vrstice z izdelkom A in izdelkom B, kot lahko vidite na sliki 4:

Slika 4. Samodejni filter z več merilnimi vrednostmi

Področje samodejnega filtriranja z več merili

Če želite filtrirati polje z več merili, ga morate uporabiti Merila 1 in Merila 2 parametre, pa tudi Operater xlAnd.

V naslednjem primeru bomo filtrirali prvi stolpec (Datum) za datume v decembru 2022. Zato imamo dva merila: datum večji od 01.01.18 in manjši od 31.12.18. To je koda:

1234 List1.Range ("A1: E1"). Polje samodejnega filtriranja: = 1, _Merila1: = "> = 12/01/2018", _Operater: = xlInd, _Merila 2: = "<= 31.12.2018"

Ko izvedemo kodo, lahko vidite, da so v podatkovnem obsegu prikazani samo datumi v decembru:

Slika 5. Samodejni filter z več merili za polje

Vrednosti parametrov operaterja pri metodi AutoFilter

V naslednji tabeli. lahko vidite vse možne vrednosti Operater parameter metode samodejnega filtriranja in njihovi opisi:

Operater Opis
xl In Vključuje več meril - merila 1 in merila 2
xlOr Vključuje eno od več meril - merilo1 ali merilo 2
xlTop10Items Filtrira določeno število najvišje uvrščenih vrednosti (število, navedeno v Kriteriju1)
xlBottom10Items Filtrira določeno število najnižje uvrščenih vrednosti (število, navedeno v Kriteriju1)
xlTop10Procent Filtrira določen odstotek najvišje uvrščenih vrednosti (%, določeno v 1. kriteriju)
xlBottom10Procent Filtrira določen odstotek najnižje uvrščenih vrednosti (%, določeno v Kriterijih 1)
xlFilterValues Vključuje več merilnih vrednosti z nizom
xlFilterCellColor Filtrira celice za barve
xlFilterFontColor Filtrira celice za barve pisav
xlFIlterIcon Ikone filtrov
xlFilterDynamic Filtrirajte dinamične vrednosti

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave