Autofilter aus Code deaktivieren - VBA-Codebeispiele

In diesem Tutorial wird gezeigt, wie Sie AutoFilter in VBA deaktivieren/löschen.

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

Deaktivieren Sie AutoFilter im aktiven Arbeitsblatt in VBA

Im folgenden Codebeispiel wird AutoFilter im aktiven Blatt deaktiviert und zuerst überprüft, ob es nicht bereits deaktiviert ist.

12345 Öffentlicher Sub KillFilter()Wenn ActiveSheet.AutoFilterMode ThenActiveSheet.AutoFilterMode = FalseEnde WennEnd Sub

Aktivieren Sie AutoFilter im aktiven Arbeitsblatt in VBA

Im folgenden Codebeispiel wird AutoFilter im aktiven Blatt aktiviert und zuerst überprüft, ob es nicht bereits aktiviert ist.

12345 Öffentlicher Unter StartFilter()Wenn nicht ActiveSheet.AutoFilterMode ThenActiveSheet.Range("A1").AutoFilterEnde WennEnd Sub

Deaktivieren Sie AutoFilter in allen Arbeitsblättern in VBA.

Das folgende Codebeispiel durchläuft jedes Blatt in der gesamten Arbeitsmappe und deaktiviert AutoFilter in jedem Arbeitsblatt, wobei zuerst überprüft wird, ob der Filter in der aktuellen Arbeitsmappe nicht bereits aktiviert ist.

12345678 Öffentliche Unter StopAllFilters()Dim ws als ArbeitsblattFür jedes ws in ActiveWorkbook.WorksheetsWenn ws.AutoFilterMode = True Thenws.AutoFilterMode = FalseEnde WennNächstes wsEnd Sub

Deaktivieren Sie AutoFilter in allen Arbeitsblättern in VBA.

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

12345678 Öffentliches Unterverzeichnis StartAllFilters()Dim ws als ArbeitsblattFür jedes ws in ActiveWorkbook.WorksheetsWenn nicht ws.AutoFilterMode Thenws.Range("A1").AutoFilterEnde WennNächstes wsEnd Sub

Löschen Sie alle Filter im aktiven Arbeitsblatt in VBA

Im folgenden Codebeispiel bleibt der AutoFilter im aktiven Blatt aktiviert, löscht jedoch alle Filter, die auf die Daten angewendet werden.

12345 Öffentlicher Sub ClearFilter()Wenn ActiveSheet.FilterMode = True ThenActiveSheet.ShowAllDataEnde WennEnd Sub

Alle Filter in allen Arbeitsblättern in 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 jedoch alle Filter, die auf die Daten angewendet werden.

12345678 Öffentliche Unter ClearAllFilters()Dim ws als ArbeitsblattFür jedes ws in ActiveWorkbook.WorksheetsWenn ws.FilterMode = True Thenws.ShowAllDataEnde WennNächstes wsEnd Sub

Löschen Sie alle Filter in einer Tabelle in VBA

Sollte unser Arbeitsblatt ein Tabellenobjekt enthalten, können wir den Code so anpassen, dass nur alle auf diesen Filter angewendeten Filter gelöscht werden, während der AutoFilter eingeschaltet bleibt.

123456789 Unter ClearFilterFromTable()Dim ws als ArbeitsblattDim sTable als StringDim loTable als ListObjectsTabelle = "Tabelle1"Set ws = ActiveSheetSetze loTable = ws.ListObjects(sTable)loTable.AutoFilter.ShowAllDataEnd Sub

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

wave wave wave wave wave