Automatický filtr VBA | Jak používat kritéria automatického filtrování VBA k filtrování dat?

Automatický filtr VBA aplikace Excel

Automatický filtr ve VBA se používá jako výraz a jeho syntaxe, jak je uvedeno v následujícím výrazu. Autofilter (Field, Criteria 1, Operator, Criteria 2, Dropdown) všechny argumenty jsou volitelné. Filtr je užitečný při filtrování konkrétních dat z obrovských dat.

Pokud jste běžným uživatelem, pak pro vás filtry aplikace Excel nejsou nic zvláštního. Některé z nástrojů, které používáme v listu, jsou také integrovány do VBA a možnost automatického filtru je jedním z důležitých nástrojů dostupných ve VBA. Jak všichni víme, filtr Excel je k dispozici na kartě Data.

Pomocí této možnosti filtru si můžeme pohrát s daty. Pokud máte co do činění s minimálním množstvím dat a pokud si myslíte, že možnost automatického filtrování VBA není opravdu vyžadována, můžete i nadále používat možnost filtrování listu.

Pokud pracujete s velkým množstvím dat, můžete ke zjednodušení toku procesu použít volbu Automatický filtr.

Syntaxe funkce automatického filtru

Automatický filtr v aplikaci Excel VBA lze použít s objektem rozsahu. Stejně jako naše další funkce má i tato svou vlastní syntaxi.

  • Rozsah: Rozsah je jednoduše v tom rozsahu, ve kterém chcete použít filtr.
  • Pole: Pole znamená, ze kterého sloupce rozsahu, který jste vybrali, chcete filtrovat data. Sloupec se bude počítat zleva doprava.

Pokud je například váš rozsah od A1 do D100 a chcete použít filtr pro sloupec D, pak je vaše číslo pole 4, protože ve vybraném rozsahu je D čtvrtý sloupec.

Kritérium 1: V poli jste vybrali, co chcete filtrovat.

  • Operátor: Pokud chcete pro filtrování dat použít více než jedno kritérium, musíme použít operátorské symboly. Některé kódy operátora jsou uvedeny níže.

xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlTop10Percent, xlBottom10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues.

Kritérium 2: Co je druhá věc, kterou chcete filtrovat spolu s kritériem 1?

  • Viditelná rozevírací nabídka: Chcete ve filtrovaném sloupci zobrazit ikonu fop filtru dolů. Pokud chcete zobrazit TRUE je argument, pokud ne FALSE, je argument.

Jak použít filtr pomocí automatického filtru VBA? (s příkladem)

Tuto šablonu automatického filtru VBA si můžete stáhnout zde - Šablona automatického filtru VBA

Předpokládejme, pod daty, na kterých pracujete.

Nyní pomocí kódu VBA použijeme filtr. Při použití filtru postupujte podle následujících kroků.

Krok 1: Spusťte podproces zadáním názvu makra.

Kód:

 Sub AutoFilter_Example1 () End Sub 

Krok 2: První  věc je, v jakém rozsahu musíme použít filtr. V tomto případě musíme použít rozsah od rozsahu A1 do E25.

Kód:

 Sub AutoFilter_Example1 () Range ("A1: E25") End Sub 

Krok 3: Jakmile je vybrán rozsah, nyní použijte možnost automatického filtrování.

Kód:

 Sub AutoFilter_Example1 () Range ("A1: E25"). End AutoFilter End Sub 

Nevybíráme žádné hodnoty pomocí automatického filtru, spíše pouze aplikujeme filtr v tomto okamžiku.

Spusťte kód pomocí klávesy F5 nebo ručně vloží filtr pro vybraný rozsah.

Na data tedy použil filtr. Nyní uvidíme, jak filtrovat data.

Příklad č. 1 - Filtrování dat pomocí automatického filtru

Zvažte stejná data z výše uvedeného příkladu. Nyní musíme odfiltrovat oddělení „Finance“ ze sloupce oddělení.

Krok 1: Po použití filtru je prvním argumentem zmínka, ze kterého sloupce filtrujeme data. V tomto případě musíme filtrovat data ze sloupce Oddělení, takže číslo sloupce, pokud je 5.

Kód:

 Sub AutoFilter_Example1 () Range ("A1: E25"). Pole AutoFilter: = 5, End Sub 

Krok 2: Kritérium 1 není nic jiného než to, co chceme filtrovat z 5. sloupce. Musíme tedy odfiltrovat „Finance“.

Kód:

 Sub AutoFilter_Example1 () Range ("A1: E25"). Pole AutoFilter: = 5, Criteria1: = "Finance" End Sub 

Takže to je vše, spusťte tento kód ručně nebo pomocí klávesy F5 vyfiltruje ze seznamu pouze „Finance“.

Příklad č. 2 - Provozovatel v automatickém filtru

Viděli jsme, jak filtrovat jednu hodnotu. Nyní uvidíme, jak filtrovat více prvků. Předpokládejme, že spolu s položkou „Finance“ chcete filtrovat také oddělení „Prodej“, abychom to mohli provést pomocí operátorů.

Krok 1: Po uplatnění prvních kritérií v dalším argumentu vyberte operátor jako „xlOr“.

Kód:

 Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xlOr End Sub 

Krok 2: Nyní v kritériu 2 uveďte hodnotu jako „prodej“.

Kód:

 Sub AutoFilter_Example2 () Range ("A1: E25"). AutoFilter Field: = 5, Criteria1: = "Finance", Operator: = xlOr, Criteria2: = "Sales" End Sub 

Krok 3: Dobře, spusťte tento kód pomocí klávesy F5 nebo ručně odfiltruje jak „Finance“, tak „Prodej“.

V argumentu Operátor jsem použil „xlOr “, pod filtrem se vybere „Finance“ i „Prodej“ .

Příklad č. 3 - Filtrování čísel pomocí automatického filtru

Pomocí symbolu operátora „XlAnd“ můžeme také odfiltrovat čísla. Předpokládejme, že ze sloupce Přesčas chcete odfiltrovat všechny hodnoty, které jsou> 1000, ale <3000.

Krok 1: První  věcí je změna pole z 5 na 4.

Kód:

 Sub AutoFilter_Example3 () Range ("A1: E25"). Pole AutoFilter: = 4 End Sub 

Krok 2: Kritérium 1 je> 1000.

Kód:

 Sub AutoFilter_Example3 () Range ("A1: E25"). Pole AutoFilter: = 4, Criteria1: = "> 1000", End Sub 

Krok 3: Zde musíme porovnat obě kritéria, proto jako operátor použijte „xlAnd“.

Kód:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4, Criteria1: = "> 1000", Operator: = xlAnd, End Sub 

Krok 4: Kritérium 2 bude <3000.

Kód:

 Sub AutoFilter_Example3 () Range ("A1: E25"). AutoFilter Field: = 4, Criteria1: = "> 1000", Operator: = xlAnd, Criteria2: = "<3000" End Sub 

Nyní, pokud tento kód spustíte ručně nebo pomocí klávesy F5, odfiltruje všechny hodnoty ze sloupce Přesčas, které jsou> 1000, ale <3000.

Příklad č. 4 - Filtrování z různých sloupců pomocí automatického filtru

Abychom mohli odfiltrovat data z různých sloupců, musíme použít jiný proces. Předpokládejme, že chcete odfiltrovat oddělení „Finance“ a také chcete odfiltrovat platová čísla, která jsou> 25 000, ale <40000.

Můžete použít níže uvedený kód.

Kód:

 Dílčí AutoFilter_Example4 () s rozsahem ("A1: E25"). Pole AutoFilter: = 5, Kritérium 1: = "Finance". Pole AutoFilter: = 2, Kritérium1: = "> 25000", Provozovatel: = xlAnd, Kritérium2: = " <40000 "End With End Sub 

Tím odfiltrujete dva sloupce.

Spusťte tento kód pomocí klávesy F5 nebo můžete spustit ručně.

Věci k zapamatování

  • Vyzkoušejte různé kombinace v části Operátor a získejte znalosti automatického filtru VBA.
  • Pokud si nejste jisti, co do toho, zkuste použít záznamník maker.
  • Chcete-li filtrovat textové hodnoty, musíte je zadat v uvozovkách.
  • Pomocí příkazu WITH použijte více než jeden filtr sloupců.