- Stäng av AutoFilter i det aktiva kalkylbladet i VBA
- Slå på AutoFilter i det aktiva kalkylbladet i VBA
- Stäng av AutoFilter i alla kalkylblad i VBA.
- Stäng av AutoFilter i alla kalkylblad i VBA.
- Rensa alla filter i det aktiva kalkylbladet i VBA
- Rensa alla filter i alla kalkylblad i VBA
- Rensa alla filter i en tabell i VBA
Denna handledning visar hur du stänger av /rensar autofilter i VBA.
Autofilter kan slås på eller av med VBA -kod.
Stäng av AutoFilter i det aktiva kalkylbladet i VBA
Följande kodexempel stänger av AutoFilter i Active Sheet och kontrollerar först att det inte redan är av.
12345 | Public Sub KillFilter ()Om ActiveSheet.AutoFilterMode DåActiveSheet.AutoFilterMode = FalsktAvsluta omAvsluta Sub |
Slå på AutoFilter i det aktiva kalkylbladet i VBA
Följande kodexempel aktiverar AutoFilter i det aktiva bladet och kontrollerar först att det inte redan är på.
12345 | Public Sub StartFilter ()If Not ActiveSheet.AutoFilterMode ThenActiveSheet.Range ("A1"). AutoFilterAvsluta omAvsluta Sub |
Stäng av AutoFilter i alla kalkylblad i VBA.
Följande kodexempel går igenom varje ark i hela arbetsboken och stänger av AutoFilter i varje kalkylblad och kontrollerar först att filtret i den aktuella arbetsboken inte redan är på.
12345678 | Public Sub StopAllFilters ()Dim ws Som arbetsbladFör varje ws i ActiveWorkbook.WorksheetsOm ws.AutoFilterMode = True dåws.AutoFilterMode = FalsktAvsluta omNästa wsAvsluta Sub |
Stäng av AutoFilter i alla kalkylblad i VBA.
På samma sätt går följande kodexempel genom hela arbetsboken och aktiverar AutoFilter i varje ark och kontrollerar först att filtret i den aktuella arbetsboken inte redan är på.
12345678 | Public Sub StartAllFilters ()Dim ws Som arbetsbladFör varje ws i ActiveWorkbook.WorksheetsOm inte ws.AutoFilterMode Dåws.Range ("A1"). AutoFilterAvsluta omNästa wsAvsluta Sub |
Rensa alla filter i det aktiva kalkylbladet i VBA
Följande kodexempel gör att autofiltret är aktiverat i det aktiva bladet, men rensar alla filter som tillämpas på data.
12345 | Public Sub ClearFilter ()Om ActiveSheet.FilterMode = True dåActiveSheet.ShowAllDataAvsluta omAvsluta Sub |
Rensa alla filter i alla kalkylblad i VBA
På samma sätt går följande kodexempel genom hela arbetsboken och lämnar autofiltret påslaget i varje ark om det redan är på, men rensar alla filter som tillämpas på data.
12345678 | Public Sub ClearAllFilters ()Dim ws Som arbetsbladFör varje ws i ActiveWorkbook.WorksheetsOm ws.FilterMode = True dåws.ShowAllDataAvsluta omNästa wsAvsluta Sub |
Rensa alla filter i en tabell i VBA
Skulle vårt kalkylblad innehålla ett tabellobjekt kan vi justera koden för att bara rensa alla filter som tillämpas på det filtret, medan AutoFilter är påslagen.
123456789 | Sub ClearFilterFromTable ()Dim ws Som arbetsbladDim tabell som strängDim tabell som ListObjectsTable = "Tabell1"Ange ws = ActiveSheetAnge loTable = ws.ListObjects (sTable)loTable.AutoFilter.ShowAllDataAvsluta Sub |
Om tabellobjektet är länkat till ett pivottabell, uppdateras pivottabellen i enlighet därmed.