Vypněte automatický filtr z kódu - příklady kódu VBA

Tento tutoriál předvede, jak vypnout /vymazat automatické filtry ve VBA.

Automatické filtry lze zapnout nebo vypnout pomocí kódu VBA.

Vypněte automatický filtr v aktivním listu ve VBA

Následující příklad kódu vypne automatický filtr v aktivním listu a nejprve zkontroluje, zda již není vypnutý.

12345 Public Sub KillFilter ()Pokud ActiveSheet.AutoFilterMode ThenActiveSheet.AutoFilterMode = FalseKonec IfEnd Sub

Zapněte automatický filtr v aktivním listu ve VBA

Následující příklad kódu zapne automatický filtr v aktivním listu a nejprve zkontroluje, zda již není zapnutý.

12345 Public Sub StartFilter ()Pokud není ActiveSheet.AutoFilterMode ThenActiveSheet.Range („A1“). Automatický filtrKonec IfEnd Sub

Vypněte automatický filtr ve všech listech ve VBA.

Následující příklad kódu prochází každý list v celém sešitu a vypne automatický filtr v každém listu, přičemž nejprve kontroluje, zda filtr v aktuálním sešitu již není zapnutý.

12345678 Public Sub StopAllFilters ()Dim ws As WorksheetZa každý ws v ActiveWorkbook.WorksheetsPokud ws.AutoFilterMode = True Thenws.AutoFilterMode = FalseKonec IfDalší wsEnd Sub

Vypněte automatický filtr ve všech listech ve VBA.

Podobně následující příklad kódu prochází celý sešit a zapíná AutoFilter na každém listu, přičemž nejprve kontroluje, zda filtr v aktuálním sešitu již není zapnutý.

12345678 Veřejné Sub StartAllFilters ()Dim ws As WorksheetZa každý ws v ActiveWorkbook.WorksheetsPokud ne ws.AutoFilterMode Thenws.Range ("A1"). AutoFilterKonec IfDalší wsEnd Sub

Vymažte všechny filtry v aktivním listu ve VBA

Následující příklad kódu ponechává automatický filtr zapnutý v aktivním listu, ale vymaže všechny filtry, které jsou použity na data.

12345 Public Sub ClearFilter ()Pokud ActiveSheet.FilterMode = True ThenActiveSheet.ShowAllDataKonec IfEnd Sub

Vymazat všechny filtry ve všech listech ve VBA

Podobně následující příklad kódu prochází celým sešitem a ponechává automatický filtr zapnutý v každém listu, pokud je již zapnutý, ale vymaže všechny filtry, které jsou použity na data.

12345678 Public Sub ClearAllFilters ()Dim ws As WorksheetZa každý ws v ActiveWorkbook.WorksheetsPokud ws.FilterMode = True Thenws.ShowAllDataKonec IfDalší wsEnd Sub

Vymažte všechny filtry v tabulce ve VBA

Pokud náš list obsahuje objekt tabulky, můžeme kód upravit tak, aby pouze vymazal jakýkoli filtr, který je na tento filtr aplikován, a ponechal zapnutý automatický filtr.

123456789 Dílčí ClearFilterFromTable ()Dim ws As WorksheetDim sTable as StringDim loTable jako ListObjectsTable = "Tabulka1"Nastavit ws = ActiveSheetNastavit loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataEnd Sub

Pokud je objekt tabulky propojen s kontingenční tabulkou, kontingenční tabulka by se odpovídajícím způsobem aktualizovala.

wave wave wave wave wave