Alle Filter in VBA löschen

Um alle Filter in VBA zu löschen, müssen Sie die folgenden Schritte ausführen:

  1. Einfügen von Daten in ein Blatt

  1. 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.

Beitragsaufrufe: 32,315

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.