för att rensa alla filter i VBA måste du göra följande steg:
- infoga data i ett ark
- klicka på data och använd Ctrl + T för att skapa en tabell
rensa alla filter i den aktiva tabellen
Klicka i en tabell och öppna VBA-redigeraren (Alt + F11).
ange och kör följande kod.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
Om en aktiv cell ligger utanför tabellen kommer den att returnera ett fel.
rensa alla filter i kalkylbladet
i vårt exempel finns det två tabeller: Table1 och Table2. Var och en av dem har tillämpat filter.
för att kontrollera namnet på en tabell gå till Design >> egenskaper >> tabellnamn.
Du kan använda den tidigare VBA-koden, klicka på var och en av tabellerna och köra koden. Men den här gången låt oss skapa en kod som rensar alla filter från alla tabeller i kalkylbladet.
för att rensa filter i varje tabell på ett kalkylblad måste du först gå igenom dem alla. Använd följande kod.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
Det kommer att returnera två meddelandefönster med namn på tabellen.
istället för ett meddelande, Låt oss skapa kod som rensar filter från varje tabell. För att göra detta, ändra bara MsgBox myTable till myTable.AutoFilter.Visa alla data.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
Den nya raden kommer att kontrollera varje tabell och visa all data, med andra ord kommer den att ta bort alla filter.
rensa alla filter i arbetsboken
för att göra det för alla tabeller i arbetsboken måste du lägga till en extra slinga som går igenom alla tabeller i varje ark och rensa filter.
Sub LoopThroughTablesInsideWorkbook()Dim myTable As ListObjectDim mySheet As WorksheetFor Each mySheet In Worksheets For Each myTable In mySheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableNext mySheetEnd Sub
kalkylblad och Python entusiast.