Přejít na hlavní obsah

Jak vyčistit filtr automatické opravy v Excelu VBA

Automatický filtr (AutoFilter)je výkonný nástroj v aplikaci Microsoft Excel, který umožňuje zpracovávat a analyzovat velké množství dat. Umožňuje uživatelům rychle a snadno najít požadované informace v tabulce. Ale co když filtr automatické opravy přestal fungovat nebo vedl k nesprávným výsledkům?

V tomto článku vám řekneme, jak vyčistit filtr automatické opravy v Excelu VBA. Ukážeme vám několik metod čištění filtru, které můžete použít ve svých makrech nebo postupech. Kromě toho poskytneme několik doporučení pro zlepšení použitelnosti filtru automatického sběru.

První metodou čištění filtru automatického sběru je použití vlastnosti Autofiltermode objektu Worksheet. Tato vlastnost umožňuje určit, zda je na pracovním listu zapnutý filtr. Pokud je filtr zapnutý, můžeme použít metodu ShowAllData k zobrazení všech dat v tabulce. To lze provést následovně:

Sub ClearFilter()


If ActiveSheet.AutoFilterMode Then


ActiveSheet.ShowAllData


End If


End Sub

Tento kód zkontroluje, zda je na aktivním pracovním listu zapnutý filtr automatické analýzy. Pokud je filtr zapnutý, metoda ShowAllData zobrazí všechna data v tabulce a vyčistí filtr. Je to snadný a účinný způsob čištění filtru automatické opravy v Excelu VBA.

Druhá metoda, kterou prozkoumáme, používá metodu Clear pro každé pole filtru automatického sběru. Pomocí této metody můžeme procházet všechna pole filtru a vyčistit je. Takový kód například vyčistí filtr pro každý sloupec v rozsahu A1: C10:

Sub ClearFilter()


Dim rng As Range


Set rng = Range("A1:C10")


Dim field As Range


For Each field In rng.Rows(1).SpecialCells(xlCellTypeVisible)


field.AutoFilter Field:=field.Column, Criteria1:=" Sheet1")' Проверяем, есть ли у нас автофильтр в таблицеIf ws.AutoFilterMode Then' Очищаем фильтрws.AutoFilterMode = FalseEnd IfEnd Sub

V tomto příkladu nejprve deklarujeme objekt listu "Sheet1" a přiřadíme mu hodnotu proměnné ws. Poté zkontrolujeme, zda je v tabulce na listu zapnutý automatický filtr. Pokud je automatický filtr zapnutý, filtr vyčistíme nastavením vlastnosti AutoFilterMode na False.

Po provedení tohoto kódu bude filtr vyčištěn a všechna data budou zobrazena v tabulce.

Čištění filtru v Excelu VBA je velmi užitečné, když chcete zobrazit všechna data v tabulce bez podmínek filtrování. Tento kód můžete použít ve svých makrech VBA k automatickému čištění filtru.

Odstranění filtrů

Chcete-li odstranit všechny filtry, musíte použít následující kód:

Tento kód vypne režim automatického sběru na aktivním listu a odstraní všechny filtry. Po provedení tohoto kódu bude odstraněna celá Automatická volba a všechny řádky se znovu zobrazí na listu.

Pokud chcete odstranit pouze filtr podle konkrétního pole, můžete použít následující kód:

V tomto kódu je pole, které má odstranit filtr, uvedeno pomocí možnosti Field. V uvedeném příkladu je nastavena hodnota 1, která odpovídá prvnímu poli. Po provedení tohoto kódu bude odstraněn filtr na prvním poli a všechny řádky filtrované v tomto poli budou znovu zobrazeny.

Nakonec použití metody AutoFilter umožňuje odstranit filtry z automatické opravy v aplikaci Excel VBA. Je to velmi užitečná funkce, která může ušetřit čas a usnadnit proces správy dat v excelových tabulkách.