Um alle Filter in VBA zu löschen, müssen Sie die folgenden Schritte ausführen:
- Einfügen von Daten in ein Blatt
- Klicken Sie auf die Daten und erstellen Sie mit Strg + T eine Tabelle
Alle Filter in der aktiven Tabelle löschen
Klicken Sie in eine Tabelle und öffnen Sie den VBA-Editor (Alt + F11).
Geben Sie den folgenden Code ein und führen Sie ihn aus.
Sub RemoveFiltersFromTable() ActiveSheet.ShowAllDataEnd Sub
Wenn sich eine aktive Zelle außerhalb der Tabelle befindet, wird ein Fehler zurückgegeben.
Alle Filter in der Tabelle löschen
In unserem Beispiel gibt es zwei Tabellen: Tabelle1 und Tabelle2. Jeder von ihnen hat Filter angewendet.
Um den Namen einer Tabelle zu überprüfen, gehen Sie zu Design >> Eigenschaften >> Tabellenname.
Sie können den vorherigen VBA-Code verwenden, auf jede der Tabellen klicken und den Code ausführen. Aber dieses Mal erstellen wir einen Code, der alle Filter aus allen Tabellen im Arbeitsblatt löscht.
Um den Filter in jeder Tabelle einer Tabelle zu löschen, müssen Sie zuerst alle durchlaufen. Verwenden Sie den folgenden Code.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects MsgBox myTable Next myTableEnd Sub
Es werden zwei Nachrichtenfenster mit den Namen der Tabelle zurückgegeben.
Lassen Sie uns anstelle einer Nachricht Code erstellen, der Filter aus jeder Tabelle löscht. Ändern Sie dazu einfach MsgBox myTable in myTable.AutoFilter.Alle Daten anzeigen.
Sub LoopThroughTablesInsideWorksheet()Dim myTable As ListObject For Each myTable In ActiveSheet.ListObjects myTable.AutoFilter.ShowAllData Next myTableEnd Sub
Die neue Zeile überprüft jede Tabelle und zeigt alle Daten an, dh alle Filter werden entfernt.
Alle Filter in der Arbeitsmappe löschen
Um dies für alle Tabellen in der Arbeitsmappe zu tun, müssen Sie eine zusätzliche Schleife hinzufügen, die alle Tabellen in jedem Blatt durchläuft und Filter löscht.
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
Spreadsheet und Python-Enthusiasten.