VBA autofilter

U VBA možete stvarati Autofilter kako biste filtrirali raspon ćelija ili Excel tablicu. U ovom ćete vodiču naučiti stvarati Autofilter za jedan ili više stupaca i za više uvjeta.

Ako želite naučiti kako koristiti napredni filtar u VBA, kliknite ovdje: VBA napredni filtar

Izrada autofiltera u VBA -i

Prvo ćete vidjeti kako samo stvarati Autofilter u rasponu, tako da korisnik može filtrirati podatke. Podaci koje ćemo koristiti u primjerima nalaze se na slici 1:

Slika 1. Podaci za primjere automatskog filtriranja

Evo koda za stvaranje Autofilter:

1 List1.Range ("A1: E1"). Autofilter

Kako bi omogućili Autofilter, moramo navesti zaglavlje raspona, u našem slučaju A1: E1, i koristiti Autofilter metoda objekta Domet. Zbog toga su u našem rasponu podataka aktivirani filtri:

Slika 2. Automatski filtar omogućen za podatke

Autofilter s parametrima polja i kriterija

VBA vam također omogućuje automatsko filtriranje određenog polja s određenim vrijednostima.

Da biste to učinili, morate koristiti parametre Polje i Kriteriji 1 metode Autofilter. U ovom primjeru želimo filtrirati treći stupac (Proizvod) za Proizvod A samo. Evo koda:

12 List1.Range ("A1: E1"). Polje automatskog filtriranja: = 3, _Kriteriji1: = "Proizvod A"

U Polje parametar, možete postaviti broj stupca u rasponu (ne u Excelu), dok je u Kriteriji 1 možete unijeti vrijednost koju želite filtrirati. Nakon izvršavanja koda, naša tablica izgleda ovako:

Slika 3. Autofilter s poljem i kriterijima

Kao što vidite, samo redovi sa Proizvod A u trećem stupcu prikazani su u rasponu podataka.

Autofilter s vrijednostima polja i više kriterija

Ako želite filtrirati jedno polje s nekoliko vrijednosti, morate koristiti parametar Operater od Autofilter metoda. Da biste filtrirali više vrijednosti, morate postaviti Operater do xlFilterValues a također i staviti sve vrijednosti Kriteriji u nizu. U ovom primjeru filtriramo Proizvod stupac za Proizvod A i Proizvod B. Evo primjera koda:

123 List1.Range ("A1: E1"). Polje automatskog filtriranja: = 3, _Kriteriji1: = niz ("Proizvod A", "Proizvod B"), _Operator: = xlFilterValues

Kada izvršimo kôd, dobivamo samo retke s proizvodom A i proizvodom B, kao što možete vidjeti na slici 4:

Slika 4. Autofilter s više vrijednosti kriterija

Raspon podataka automatskog filtriranja s više kriterija

Ako želite filtrirati polje s više kriterija, morate ga koristiti Kriteriji 1 i Kriteriji 2 parametre, ali i Operater xlAnd.

U sljedećem primjeru filtrirat ćemo prvi stupac (Datum) za datume u prosincu 2022. Stoga imamo dva kriterija: datum veći od 01.01.18. i manji od 31.12.18. Ovo je kod:

1234 List1.Range ("A1: E1"). Polje automatskog filtriranja: = 1, _Kriteriji1: = "> = 12/01/2018", _Operater: = xlAnd, _Kriteriji 2: = "<= 31.12.2018."

Kad izvršimo kôd, možete vidjeti da su u podatkovnom rasponu prikazani samo datumi u prosincu:

Slika 5. Autofilter s više kriterija za polje

Vrijednosti parametara operatora metode AutoFilter

U sljedećoj tablici. možete vidjeti sve moguće vrijednosti Operater parametar metode AutoFilter i njihovi opisi:

Operater Opis
xlAnd Uključuje više kriterija - Kriterij 1 i Kriterij 2
xlOr Uključuje jedan od više kriterija - kriterij1 ili kriterij 2
xlTop10Items Filtrira određeni broj najviših vrijednosti (broj naveden u Kriterijima 1)
xlBottom10Items Filtrira određeni broj najnižih vrijednosti (broj naveden u Kriterijima 1)
xlTop10Procent Filtrira određeni postotak najviših vrijednosti (% navedenih u kriterijima1)
xlBottom10Procent Filtrira određeni postotak najnižih vrijednosti (% navedenih u kriterijima1)
xlFilterValues Uključuje više vrijednosti kriterija s nizom
xlFilterCellColor Filtrira ćelije za boje
xlFilterFontColor Filtrira ćelije za boje fonta
xlFIlterIcon Ikone filtera
xlFilterDynamic Filtrirajte dinamičke vrijednosti

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave