VBA – AutoFilter an- und ausschalten / Filter löschen
In this Article
- AutoFilter im aktiven Arbeitsblatt in VBA ausschalten
- AutoFilter im aktiven Arbeitsblatt in VBA einschalten
- Schalten Sie AutoFilter in allen Arbeitsblättern mittels VBA aus.
- AutoFilter in allen Arbeitsblättern mittels VBA ausschalten.
- Alle Filter im aktiven Arbeitsblatt mittels VBA löschen
- Alle Filter in allen Arbeitsblättern mittels VBA löschen
- Alle Filter in einer Tabelle mittels VBA löschen
- VBA-Codierung leicht gemacht
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!