Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Filter löschen per VBA

Filter löschen per VBA
27.05.2020 11:25:17
Marc
Hi all
Wie kann einen Filter löschen, wenn ich in irgend ein anderes Register/Blatt wechsle?
Gibt es da eine Möglichkeit mit VBA?
Vielen Dank
Marc
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter löschen per VBA
27.05.2020 11:43:33
UweD
Hallo
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Code dort eintragen

Private Sub Worksheet_Deactivate()
If Me.AutoFilterMode Then Me.AutoFilterMode = False ' Autofilter ausschalten
'****** oder
If Me.FilterMode Then Me.ShowAllData ' Autofilter alle zeigen
End Sub
beim Verlassen wird der Code ausgeführt
LG UweD
Anzeige
AW: Filter löschen per VBA
27.05.2020 14:27:27
Marc
Herzlichen Dank dafür. Funktioniert einwandfrei
Danke für die Rückmeldung (owT)
27.05.2020 14:56:16
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Filter löschen per VBA in Excel


Schritt-für-Schritt-Anleitung

Um einen Filter in Excel über VBA zu löschen, kannst Du den folgenden Code verwenden. Dieser wird ausgeführt, wenn Du das Tabellenblatt verlässt:

  1. Rechtsklicke auf den Tabellenblattreiter, wo der Filter gesetzt ist.
  2. Wähle "Code anzeigen" aus dem Kontextmenü.
  3. Füge den folgenden VBA-Code in das Codefenster ein:
Private Sub Worksheet_Deactivate()
    If Me.AutoFilterMode Then Me.AutoFilterMode = False ' Autofilter ausschalten
    ' oder
    If Me.FilterMode Then Me.ShowAllData ' Autofilter alle zeigen
End Sub
  1. Speichere den Code und schließe den VBA-Editor.

Mit diesem Code wird der Autofilter automatisch gelöscht, wenn Du zu einem anderen Blatt wechselst.


Häufige Fehler und Lösungen

  • Fehler: "Excel Filter lässt sich nicht löschen"

    • Stelle sicher, dass Du den Code korrekt eingefügt hast und das richtige Arbeitsblatt ausgewählt ist.
  • Fehler: "Autofilter wird nicht entfernt"

    • Überprüfe, ob der Filter tatsächlich aktiv ist, bevor Du versuchst, ihn zu löschen. Der Code prüft dies bereits.
  • Lösung: Filter zurücksetzen

    • Falls Du alle Filter zurücksetzen möchtest, kannst Du den Code entsprechend anpassen.

Alternative Methoden

Falls Du den Filter manuell löschen möchtest, kannst Du dies auch über die Excel-Oberfläche tun:

  1. Gehe zu dem Tab, der den Filter hat.
  2. Klicke auf die Daten-Registerkarte.
  3. Wähle "Filter" und dann "Filter löschen".

Alternativ kannst Du auch eine Tastenkombination verwenden: Strg + Shift + L, um den Filter zu entfernen.


Praktische Beispiele

  • Beispiel 1: Alle Filter löschen

    Wenn Du alle Filter in einer Tabelle entfernen möchtest, kannst Du folgenden VBA-Code verwenden:

    Sub AlleFilterLoeschen()
      Dim ws As Worksheet
      Set ws = ThisWorkbook.Sheets("DeinTabellenblatt")
      If ws.AutoFilterMode Then
          ws.AutoFilterMode = False
      End If
    End Sub
  • Beispiel 2: Filter zurücksetzen

    Um alle Filter zurückzusetzen, nutze diesen Code:

    Sub FilterZuruecksetzen()
      Dim ws As Worksheet
      Set ws = ThisWorkbook.Sheets("DeinTabellenblatt")
      If ws.FilterMode Then
          ws.ShowAllData
      End If
    End Sub

Tipps für Profis

  • Verwende Variablen: Wenn Du mit mehreren Blättern arbeitest, kannst Du Variablen verwenden, um den Code flexibler zu gestalten.
  • Makros: Erstelle Makros, um den Prozess des Filterlöschens zu automatisieren und Zeit zu sparen.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass Dein VBA-Code robust ist.

FAQ: Häufige Fragen

1. Wie kann ich einen Filter nur löschen, wenn er gesetzt ist? Du kannst dies mit dem folgenden Code erreichen:

If Me.AutoFilterMode Then Me.AutoFilterMode = False

2. Was ist der Unterschied zwischen "Filter löschen" und "Filter zurücksetzen"? "Filter löschen" entfernt alle Filter, während "Filter zurücksetzen" die Daten wieder in ihren ursprünglichen Zustand bringt, ohne den Filter zu entfernen.

3. Wie kann ich in Access einen Filter löschen? In Access kannst Du ähnlich vorgehen, indem Du den VBA-Code für das entsprechende Formular anpasst, um den Filter zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige