Automatický filter VBA

Vo VBA môžete vytvárať AutoFilter na filtrovanie rozsahu buniek alebo tabuľky programu Excel. V tomto návode sa naučíte, ako vytvárať AutoFilter pre jeden alebo viac stĺpcov a pre viac podmienok.

Ak sa chcete dozvedieť, ako používať pokročilý filter vo VBA, kliknite sem: Rozšírený filter VBA

Vytvorenie automatického filtra vo VBA

Najprv uvidíte, ako jednoducho vytvárať AutoFilter v rozsahu, takže používateľ môže údaje filtrovať. Údaje, ktoré použijeme v príkladoch, sú na obrázku 1:

Obrázok 1. Údaje pre príklady automatického filtra

Tu je kód na vytvorenie AutoFilter:

1 List 1. Rozsah („A1: E1“). Automatický filter

Aby bolo možné povoliť AutoFilter, musíme zadať hlavičku rozsahu, v našom prípade A1: E1, a použiť AutoFilter metóda objektu Rozsah. V dôsledku toho má náš rozsah údajov aktivované filtre:

Obrázok 2. Pre údaje je povolený automatický filter

Automatický filter s parametrami poľa a kritérií

VBA vám tiež umožňuje automaticky filtrovať určité pole s určitými hodnotami.

Aby ste to urobili, musíte použiť parametre Lúka a Kritériá 1 metódy AutoFilter. V tomto prípade chceme filtrovať tretí stĺpec (Výrobok) pre Výrobok A. iba. Tu je kód:

12 List1.Range ("A1: E1"). Pole automatického filtra: = 3, _Kritériá1: = "Produkt A"

V Lúka parameter, môžete nastaviť číslo stĺpca v rozsahu (nie v Exceli), zatiaľ čo v Kritériá 1 môžete vložiť hodnotu, ktorú chcete filtrovať. Po spustení kódu vyzerá naša tabuľka takto:

Obrázok 3. Automatický filter s poľom a kritériami

Ako vidíte, iba riadky s Výrobok A. v treťom stĺpci sú zobrazené v rozsahu údajov.

Automatický filter s hodnotami poľa a viacerých kritérií

Ak chcete filtrovať jedno pole s niekoľkými hodnotami, musíte použiť parameter Operátor z AutoFilter metóda. Ak chcete filtrovať viacero hodnôt, musíte nastaviť Operátor do xlFilterValues a tiež dať všetky hodnoty Kritériá v poli. V tomto prípade filtrujeme súbor Výrobok stĺpec pre Výrobok A. a Produkt B. Tu je príklad kódu:

123 List1.Range ("A1: E1"). Pole automatického filtra: = 3, _Kritériá1: = Pole („Produkt A“, „Produkt B“), _Operátor: = xlFilterValues

Keď spustíme kód, získame iba riadky s Produktom A a Produktom B, ako vidíte na obrázku 4:

Obrázok 4. Automatický filter s viacerými hodnotami kritérií

Rozsah údajov automatického filtra s viacerými kritériami

Ak chcete filtrovať pole s viacerými kritériami, musíte použiť Kritériá 1 a Kritériá 2 parametre, ale aj Operátor xlAnd.

V nasledujúcom príklade budeme filtrovať prvý stĺpec (Dátum) pre dátumy v decembri 2022. Preto máme dve kritériá: dátum väčší ako 01/18/18 a menší ako 31/12/18. Toto je kód:

1234 List1.Range ("A1: E1"). Pole automatického filtra: = 1, _Kritériá1: = "> = 12/01/2018", _Operátor: = xlAnd, _Kritériá2: = "<= 31.12.2018"

Keď spustíme kód, môžete vidieť, že v rozsahu údajov sa zobrazujú iba dátumy v decembri:

Obrázok 5. Automatický filter s viacerými kritériami pre pole

Hodnoty parametra operátora metódy AutoFilter

V ďalšej tabuľke. môžete vidieť všetky možné hodnoty súboru Operátor parameter metódy AutoFilter a ich popisy:

Operátor Popis
xlAnd Obsahuje viacero kritérií - kritériá 1 a kritériá 2
xlOr Obsahuje jedno z viacerých kritérií - Kritériá 1 alebo Kritériá 2
xlTop10Položky Filtruje určitý počet najvyššie hodnotených hodnôt (počet uvedený v kritériách 1)
xlBottom10Položky Filtruje určitý počet hodnôt s najnižším hodnotením (počet uvedený v kritériách 1)
xlTop10Percent Filtruje určité percento hodnôt s najvyšším hodnotením (% uvedené v kritériách 1)
xl Bottom10Percent Filtruje určité percento hodnôt s najnižším hodnotením (% uvedené v kritériách 1)
xlFilterValues Obsahuje viacero hodnôt kritérií s poľom
xlFilterCellColor Filtruje bunky pre farby
xlFilterFontColor Filtruje bunky pre farby písma
xlFIlterIcon Ikony filtrov
xlFilterDynamic Filtrujte dynamické hodnoty

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave