VBA – AutoFilter an- und ausschalten / Filter löschen

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Pandau Ting

Last updated on August 22, 2022

In diesem Tutorial wird gezeigt, wie man AutoFilters in VBA ausschaltet oder löscht.

AutoFilter können mit VBA-Code ein- oder ausgeschaltet werden.

AutoFilter im aktiven Arbeitsblatt in VBA ausschalten

Das folgende Codebeispiel schaltet den AutoFilter im ActiveSheet aus, wobei zunächst geprüft wird, ob er nicht bereits ausgeschaltet ist.

Public Sub FilterEntfernen()
  If ActiveSheet.AutoFilterMode Then
     ActiveSheet.AutoFilterMode = False
  End If
End Sub

AutoFilter im aktiven Arbeitsblatt in VBA einschalten

Das folgende Codebeispiel schaltet den AutoFilter im aktiven Arbeitsblatt ein, wobei zunächst geprüft wird, ob er nicht bereits aktiviert ist.

Public Sub FilterAktivieren()
  If Not ActiveSheet.AutoFilterMode Then
     ActiveSheet.Range("A1").AutoFilter
  End If
End Sub

Schalten Sie AutoFilter in allen Arbeitsblättern mittels VBA aus.

Das folgende Codebeispiel durchläuft jedes Blatt in der gesamten Arbeitsmappe und schaltet AutoFilter in jedem Arbeitsblatt aus, wobei zunächst geprüft wird, ob der Filter im jeweiligen Arbeitsblatt nicht bereits aktiviert ist.

Public Sub AlleFilterEntfernen()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
   If ws.AutoFilterMode = True Then
    ws.AutoFilterMode = False
   End If
Next ws
End Sub

AutoFilter in allen Arbeitsblättern mittels VBA ausschalten.

In ähnlicher Weise durchläuft das folgende Codebeispiel die gesamte Arbeitsmappe und schaltet AutoFilter in jedem Blatt ein, wobei zunächst geprüft wird, ob der Filter im jeweiligen Arbeitsblatt nicht bereits aktiviert ist.

Public Sub AlleFilterAktivieren()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    If Not ws.AutoFilterMode Then
      ws.Range("A1").AutoFilter
    End If
  Next ws
End Sub

Alle Filter im aktiven Arbeitsblatt mittels VBA löschen

Das folgende Codebeispiel lässt den AutoFilter im aktiven Arbeitsblatt eingeschaltet, setzt aber alle Filter zurück, die auf die Daten angewendet werden.

Public Sub FilterZuruecksetzen()
   If ActiveSheet.FilterMode = True Then
      ActiveSheet.ShowAllData
   End If
End Sub

Alle Filter in allen Arbeitsblättern mittels VBA löschen

In ähnlicher Weise durchläuft das folgende Codebeispiel die gesamte Arbeitsmappe und lässt den AutoFilter in jedem Blatt aktiviert, wenn er bereits aktiviert ist, löscht aber alle Filter, die auf die Daten angewendet werden.

Public Sub AlleFilterZuruecksetzen()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    If ws.FilterMode = True Then
      ws.ShowAllData
    End If
  Next ws
End Sub

Alle Filter in einer Tabelle mittels VBA löschen

Sollte unser Arbeitsblatt ein Tabellenobjekt enthalten, können wir den Code so anpassen, dass nur alle Filtereinstellungen zurückgesetzt werden, während der AutoFilter selbst eingeschaltet bleibt.

Sub ClearFilterFromTable()
  Dim ws As Worksheet
  Dim sTable As String
  Dim loTable As ListObject
  sTable = "Tabelle1"
  Set ws = ActiveSheet
  Set loTable = ws.ListObjects(sTable)
  loTable.AutoFilter.ShowAllData
End Sub

Sollte das Tabellenobjekt mit einer Pivot-Tabelle verknüpft sein, würde die Pivot-Tabelle entsprechend aktualisiert werden.

VBA-Codierung leicht gemacht

Suchen Sie nicht länger online nach VBA-Code. Erfahren Sie mehr über AutoMacro – einen VBA Code Builder, der es Anfängern ermöglicht, Prozeduren von Grund auf mit minimalen Programmierkenntnissen und mit vielen zeitsparenden Funktionen für alle Benutzer zu codieren!

alt text

Erfahren Sie mehr!

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples