Vypnite automatický filter z kódu - Príklady kódu VBA

Tento tutoriál vám ukáže, ako vypnúť /vymazať automatické filtre vo VBA.

Automatické filtre je možné zapnúť alebo vypnúť pomocou kódu VBA.

Vypnite automatický filter v aktívnom hárku vo VBA

Nasledujúci príklad kódu vypne automatický filter v aktívnom hárku a najskôr skontroluje, či už nie je vypnutý.

12345 Public Sub KillFilter ()Ak ActiveSheet.AutoFilterMode PotomActiveSheet.AutoFilterMode = FalseKoniec AkKoniec pod

Zapnite automatický filter v aktívnom hárku vo VBA

Nasledujúci príklad kódu zapne automatický filter v aktívnom hárku a najskôr skontroluje, či už nie je zapnutý.

12345 Verejný čiastkový štartovací filter ()Ak nie je ActiveSheet.AutoFilterMode PotomActiveSheet.Range ("A1"). Automatický filterKoniec AkKoniec pod

Vypnite automatický filter vo všetkých pracovných hárkoch vo VBA.

Nasledujúci príklad kódu prejde každým listom v celom zošite a vypne automatický filter v každom pracovnom hárku, pričom najskôr skontroluje, či filter v aktuálnom zošite už nie je zapnutý.

12345678 Verejné Sub StopAllFilters ()Dim ws As worksheetZa každé ws v ActiveWorkbook.WorksheetsAk ws.AutoFilterMode = True Potomws.AutoFilterMode = FalseKoniec AkĎalšie wsKoniec pod

Vypnite automatický filter vo všetkých pracovných hárkoch vo VBA.

Podobne nasledujúci príklad kódu prejde celým zošitom a zapne automatický filter v každom hárku, pričom najskôr skontroluje, či filter v aktuálnom zošite už nie je zapnutý.

12345678 Verejné čiastkové štartovacie filtre ()Dim ws As worksheetZa každé ws v ActiveWorkbook.WorksheetsAk nie je, tak. AutoFilterMode Potomws.Range ("A1"). Automatický filterKoniec AkĎalšie wsKoniec pod

Vymazať všetky filtre v aktívnom hárku vo VBA

Nasledujúci príklad kódu ponecháva automatický filter zapnutý v aktívnom hárku, ale vymaže všetky filtre, ktoré sa použijú na údaje.

12345 Public Sub ClearFilter ()Ak ActiveSheet.FilterMode = True PotomActiveSheet.ShowAllDataKoniec AkKoniec pod

Vymazať všetky filtre vo všetkých pracovných listoch vo VBA

Podobne nasledujúci príklad kódu prejde celým zošitom a ponechá automatický filter zapnutý v každom hárku, ak je už zapnutý, ale vymaže všetky filtre, ktoré sa použijú na údaje.

12345678 Public Sub ClearAllFilters ()Dim ws As worksheetZa každé ws v ActiveWorkbook.WorksheetsAk ws.FilterMode = True Potomws.ShowAllDataKoniec AkĎalšie wsKoniec pod

Vymazať všetky filtre v tabuľke vo VBA

Ak by náš pracovný hárok obsahoval objekt tabuľky, môžeme kód upraviť tak, aby vymazal všetky filtre, ktoré sa naň použijú, a ponechal zapnutý automatický filter.

123456789 Sub ClearFilterFromTable ()Dim ws As worksheetDim sTable as StringDim loTable ako ListObjectsTable = "Tabuľka1"Nastaviť ws = ActiveSheetNastaviť loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataKoniec pod

Ak je objekt tabuľky prepojený s kontingenčnou tabuľkou, kontingenčná tabuľka by sa zodpovedajúcim spôsobom obnovila.

wave wave wave wave wave