Denne vejledning viser, hvordan du deaktiverer /sletter autofilter i VBA.
AutoFiltre kan tændes eller slukkes ved hjælp af VBA -kode.
Slå AutoFilter fra i det aktive regneark i VBA
Følgende kodeeksempel deaktiverer AutoFilter i det aktive ark og kontrollerer først, at det ikke allerede er slukket.
12345 | Offentlig Sub KillFilter ()Hvis ActiveSheet.AutoFilterMode derefterActiveSheet.AutoFilterMode = FalskAfslut HvisAfslut Sub |
Slå AutoFilter til i det aktive regneark i VBA
Følgende kodeeksempel tænder AutoFilter i det aktive ark og kontrollerer først, at det ikke allerede er tændt.
12345 | Public Sub StartFilter ()If Not ActiveSheet.AutoFilterMode ThenActiveSheet.Range ("A1"). AutoFilterAfslut HvisAfslut Sub |
Sluk AutoFilter i alle regneark i VBA.
Følgende kodeeksempel går gennem hvert ark i hele projektmappen og slukker AutoFilter i hvert regneark og kontrollerer først, at filteret i den aktuelle projektmappe ikke allerede er tændt.
12345678 | Offentlig Sub StopAllFilters ()Dim ws Som regnearkFor hver gang i ActiveWorkbook.WorksheetsHvis ws.AutoFilterMode = True derefterws.AutoFilterMode = FalskAfslut HvisNæste wsAfslut Sub |
Sluk AutoFilter i alle regneark i VBA.
På samme måde går følgende kodeeksempel igennem hele projektmappen og tænder AutoFilter i hvert ark og kontrollerer først, at filteret i den aktuelle projektmappe ikke allerede er tændt.
12345678 | Public Sub StartAllFilters ()Dim ws Som regnearkFor hver gang i ActiveWorkbook.WorksheetsHvis ikke ws.AutoFilterMode Såws.Range ("A1"). AutoFilterAfslut HvisNæste wsAfslut Sub |
Ryd alle filtre i det aktive regneark i VBA
Følgende kodeeksempel lader AutoFilter være tændt i det aktive ark, men sletter ethvert filter, der anvendes på dataene.
12345 | Offentlig sub ClearFilter ()Hvis ActiveSheet.FilterMode = True derefterActiveSheet.ShowAllDataAfslut HvisAfslut Sub |
Ryd alle filtre i alle regneark i VBA
På samme måde går følgende kodeeksempel igennem hele projektmappen og lader AutoFilter være tændt i hvert ark, hvis det allerede er tændt, men sletter ethvert filter, der anvendes på dataene.
12345678 | Offentlig sub ClearAllFilters ()Dim ws Som regnearkFor hver gang i ActiveWorkbook.WorksheetsHvis ws.FilterMode = True derefterws.ShowAllDataAfslut HvisNæste wsAfslut Sub |
Ryd alle filtre i en tabel i VBA
Skulle vores regneark indeholde et tabelobjekt, kan vi justere koden til bare at rydde ethvert filter, der anvendes på det filter, mens AutoFilter forbliver tændt.
123456789 | Sub ClearFilterFromTable ()Dim ws Som regnearkDim tabel som strengDim loTable As ListObjectsTable = "Tabel1"Indstil ws = ActiveSheetIndstil loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataAfslut Sub |
Hvis tabelobjektet er knyttet til en pivottabel, opdateres pivottabellen i overensstemmelse hermed.