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

Forumthread: Filter über VBA auf "Alle" setzen

Filter über VBA auf "Alle" setzen
29.05.2007 15:02:00
Jens
Hallo,
ich habe ein Problem, und zwar möchte ich über ein VBA Makro die Autofilter Funktion auf "Alle" setzen (Nicht den Autofilter Abschalten). Gibt es über VBA hier ein Möglichkeit?
ich habe da mal etwas aufgezeichnet:

Sub Makro1()
Selection.AutoFilter Field:=5
End Sub


über dieses VBA wird aber nur der filter in Reihe 5 aufgelöst, ist der Filter allerdings in Reihe 4, 3, oder einer beliebigen gesetzt funktioniert diese funktion nicht mehr.
D.h. ich möchte sämtliche Filtermöglichkeiten im Tabellenblatt auf "Alle"setzen.
Sollte ich irgendwelche Fragen offen gelassen haben, will ich diese gerne noch ergänzen.
Danke für Euere Hilfe.
Gruß Jens

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter über VBA auf "Alle" setzen
29.05.2007 15:06:00
Hajo_Zi
Hallo Jens,

Sub AlleFilterEntfernen()
With ActiveWorkbook.ActiveSheet
If .FilterMode Then
.ShowAllData
MsgBox "Es wurden alle Auto-Filter entfernt!", vbOKOnly, "   Filter deaktiviert"
End If
End With
End Sub



Anzeige
AW: Filter über VBA auf "Alle" setzen
29.05.2007 15:24:43
Jens
Hallo Hajo,
super genial, vielen vielen Dank, funktioniert hervorragend.
Danke und Gruß
Jens
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter in Excel über VBA auf "Alle" setzen


Schritt-für-Schritt-Anleitung

Um den Autofilter in Excel über VBA auf "Alle" zu setzen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne Excel und aktiviere die Entwicklertools. Falls Du die Entwicklertools noch nicht aktiviert hast, gehe zu den Excel-Optionen und aktiviere sie.

  2. Öffne den Visual Basic for Applications (VBA) Editor. Drücke ALT + F11, um den Editor zu öffnen.

  3. Füge ein neues Modul hinzu. Rechtsklicke auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  4. Füge den folgenden Code ein:

    Sub AlleFilterSetzen()
       With ActiveSheet
           If .FilterMode Then
               .ShowAllData
               MsgBox "Alle Filter wurden auf 'Alle' gesetzt!", vbOKOnly, "Filter angewendet"
           End If
       End With
    End Sub
  5. Führe das Makro aus. Du kannst das Makro aus dem VBA-Editor heraus ausführen oder eine Schaltfläche in Excel erstellen, um das Makro einfacher zu starten.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Die Methode 'ShowAllData' kann nicht angewendet werden."

    • Lösung: Stelle sicher, dass ein Autofilter auf dem Arbeitsblatt aktiv ist. Wenn kein Filter gesetzt ist, tritt dieser Fehler auf.
  • Fehler: "Der Autofilter ist nicht aktiviert."

    • Lösung: Aktiviere den Autofilter manuell über das Menü: "Daten" > "Filter" > "Autofilter".

Alternative Methoden

Wenn Du den Autofilter nicht über VBA setzen möchtest, kannst Du auch manuell vorgehen:

  1. Öffne das Daten-Menü.
  2. Wähle den Autofilter aus.
  3. Klicke auf den Dropdown-Pfeil in der Spaltenüberschrift und wähle 'Alle' aus.

Diese Methode ist zwar nicht automatisiert, kann aber schnell für kleine Datenmengen genutzt werden.


Praktische Beispiele

Hier sind einige Beispiele, wie Du das VBA-Skript anpassen kannst:

  • Mehrere Spalten gleichzeitig zurücksetzen:

    Sub AlleFilterSetzen()
       Dim ws As Worksheet
       Set ws = ActiveSheet
       If ws.FilterMode Then
           ws.ShowAllData
           MsgBox "Alle Filter wurden auf 'Alle' gesetzt!", vbOKOnly, "Filter angewendet"
       End If
    End Sub
  • Ein Makro, das spezifische Filter entfernt:

    Sub FilterEntfernen()
       Dim ws As Worksheet
       Set ws = ActiveSheet
       If ws.FilterMode Then
           ws.ShowAllData
           MsgBox "Die Filter wurden entfernt!", vbOKOnly, "Filter zurückgesetzt"
       End If
    End Sub

Tipps für Profis

  • Verwende die AutoFilter-Methode: Du kannst den Autofilter direkt setzen, indem Du die AutoFilter-Methode verwendest, um spezifische Kriterien anzuwenden.

  • Automatisierung: Überlege, Deine Makros in der Arbeitsmappe zu speichern, damit Du sie bei Bedarf schnell aufrufen kannst.

  • Dokumentation: Kommentiere Deinen Code gut, um später schnell nachvollziehen zu können, was jede Zeile bewirkt.


FAQ: Häufige Fragen

1. Wie kann ich den Autofilter vollständig deaktivieren? Um den Autofilter zu deaktivieren, kannst Du den Befehl ActiveSheet.AutoFilterMode = False verwenden.

2. Kann ich mehrere Filter gleichzeitig setzen? Ja, Du kannst mehrere Filter in unterschiedlichen Spalten setzen, indem Du die Methode AutoFilter für jede Spalte aufrufst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige