- Vypnite automatický filter v aktívnom hárku vo VBA
- Zapnite automatický filter v aktívnom hárku vo VBA
- Vypnite automatický filter vo všetkých pracovných hárkoch vo VBA.
- Vypnite automatický filter vo všetkých pracovných hárkoch vo VBA.
- Vymazať všetky filtre v aktívnom hárku vo VBA
- Vymazať všetky filtre vo všetkých pracovných listoch vo VBA
- Vymazať všetky filtre v tabuľke vo 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.