- Deaktivieren Sie AutoFilter im aktiven Arbeitsblatt in VBA
- Aktivieren Sie AutoFilter im aktiven Arbeitsblatt in VBA
- Deaktivieren Sie AutoFilter in allen Arbeitsblättern in VBA.
- Deaktivieren Sie AutoFilter in allen Arbeitsblättern in VBA.
- Löschen Sie alle Filter im aktiven Arbeitsblatt in VBA
- Alle Filter in allen Arbeitsblättern in VBA löschen
- Löschen Sie alle Filter in einer Tabelle in VBA
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.