Vymazat všechny filtry ve VBA

Chcete-li vymazat všechny filtry ve VBA, musíte provést následující kroky:

  1. vložte data do listu

  1. klikněte na data a pomocí kláves Ctrl + T vytvořte tabulku

vymažte všechny filtry v aktivní tabulce

Klikněte uvnitř tabulky a otevřete Editor VBA (Alt + F11).

Zadejte a spusťte následující kód.

Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub

pokud je aktivní buňka mimo tabulku, vrátí chybu.

vymažte všechny filtry v tabulce

v našem příkladu jsou dvě tabulky: Table1 a Table2. Každý z nich má použité filtry.

Chcete-li zkontrolovat název tabulky, přejděte na návrh >> vlastnosti >> název tabulky.

můžete použít předchozí kód VBA, kliknout na každou z tabulek a spustit kód. Tentokrát však vytvoříme kód, který vymaže všechny filtry ze všech tabulek v listu.

Chcete-li vymazat filtr uvnitř každé tabulky v tabulce, musíte nejprve projít všechny. Použijte následující kód.

Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub

vrátí dvě okna zpráv s názvy tabulky.

místo zprávy vytvoříme kód, který vymaže filtry z každé tabulky. Chcete-li to provést, stačí změnit MsgBox myTable na myTable.filtr.ShowAllData.

Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub

nový řádek zkontroluje každou tabulku a zobrazí všechna data, jinými slovy odstraní všechny filtry.

vymazat všechny filtry v sešitu

Chcete – li to provést pro všechny tabulky uvnitř sešitu, musíte přidat další smyčku, která projde všemi tabulkami v každém listu a vymaže filtry.

Sub LoopThroughTablesInsideWorkbook()Dim myTable As ListObjectDim mySheet As WorksheetFor Each mySheet In Worksheets For Each myTable In mySheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableNext mySheetEnd Sub

nadšenec tabulky a Pythonu.

Zobrazení Příspěvků: 32,315

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.