Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter deaktivieren

Autofilter deaktivieren
16.05.2006 14:31:05
Thorsten
Hallo Forumsteilnehmer,
ich möchte per VBA prüfen, ob aufdem aktuellen Sheet die Autofilter-Funktion aktiviert ist und wenn ja, dann soll diese deaktiviert werden.
Ich hab schon ein wenig gesucht und dabei folgendes gefunden:
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Allerdings wird damit ja nur der Autofilter auf "alle" gesetzt.
Ich suche eine Möglichkeit, den Filter komplett auszuschalten, egal wo auf dem Sheet der autofilter ist.
Kann mir jemand weiterhelfen?
Vorab schon mal Besten Dank
Gruß
Thorsten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter deaktivieren
16.05.2006 14:36:13
WernerB.
Hallo Thorsten,
wie gefällt Dir das?
If ActiveSheet.AutoFilterMode Then
ActiveSheet.Rows("1:1").AutoFilter
end if
Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
AW: Autofilter deaktivieren
16.05.2006 15:06:05
Thorsten
Hallo Werner.
Vielen Dank. Klappt prima.
Ich habe aber noch das ("1:1") weggelassen, damit wird der Autofilter überall rausgeschmissen.
Gruß
Thorsten
Anzeige
AW: Autofilter deaktivieren
16.05.2006 14:56:11
th.heinrich
hi Thorsten,
ActiveSheet.EnableAutoFilter = False
gruss thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter deaktivieren in Excel per VBA


Schritt-für-Schritt-Anleitung

Um den Autofilter in Excel per VBA zu deaktivieren, kannst du folgende Schritte ausführen:

  1. Öffne das Excel-Dokument, in dem du den Autofilter deaktivieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (dein Dokument)" klickst und "Einfügen" > "Modul" wählst.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Sub AutofilterDeaktivieren()
       If ActiveSheet.AutoFilterMode Then
           ActiveSheet.AutoFilterMode = False
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem du ALT + F8 drückst, das Makro "AutofilterDeaktivieren" auswählst und auf "Ausführen" klickst.

Mit diesem Code wird der Autofilter deaktiviert, egal an welcher Stelle er auf dem aktuellen Worksheet aktiv ist.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler: 1004 - Methode 'AutoFilter' des Objekts 'Range' ist fehlgeschlagen."

    • Lösung: Stelle sicher, dass du auf einem Blatt arbeitest, auf dem überhaupt ein Autofilter gesetzt wurde. Der Code kann nur auf Sheets angewendet werden, die einen Autofilter haben.
  • Fehler: "Das Makro kann nicht ausgeführt werden."

    • Lösung: Überprüfe, ob die Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" und aktiviere die Makros.

Alternative Methoden

Du kannst den Autofilter auch über das Excel-Menü deaktivieren:

  1. Gehe zu dem Tab "Daten".
  2. Klicke auf "Filter" im Bereich "Sortieren und Filtern". Dies schaltet den Filtermodus ab.
  3. Um sicherzustellen, dass alle Filter entfernt werden, kannst du auch die Schaltfläche "Alle Filter löschen" verwenden.

Zusätzlich kannst du VBA verwenden, um alle Filter auf einmal aufzuheben:

Sub AlleFilterAufheben()
    If ActiveSheet.FilterMode Then
        ActiveSheet.ShowAllData
    End If
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele für das Deaktivieren des Autofilters:

  1. Einzelnes Sheet: Verwende den oben genannten Code, um den Autofilter auf dem aktuellen Arbeitsblatt zu deaktivieren.

  2. Alle Sheets in einer Arbeitsmappe: Wenn du alle Autofilter in einer Arbeitsmappe deaktivieren möchtest, kannst du folgenden Code verwenden:

    Sub AlleFilterDeaktivieren()
       Dim ws As Worksheet
       For Each ws In ThisWorkbook.Worksheets
           If ws.AutoFilterMode Then
               ws.AutoFilterMode = False
           End If
       Next ws
    End Sub

Tipps für Profis

  • Nutze ActiveSheet.EnableAutoFilter = False, um den Autofilter komplett zu deaktivieren, was bedeutet, dass du ihn später nicht wieder aktivieren kannst, es sei denn, du fügst ihn erneut hinzu.
  • Du kannst Makros in Excel so programmieren, dass sie alle Filter automatisch aufheben, bevor du neue Daten importierst oder analysierst.
  • Speichere deine Excel-Datei als Makro-fähige Arbeitsmappe (.xlsm), um sicherzustellen, dass deine VBA-Codes erhalten bleiben.

FAQ: Häufige Fragen

1. Wie kann ich den Autofilter wieder aktivieren?
Um den Autofilter wieder zu aktivieren, kannst du folgenden VBA-Code verwenden:

Sub AutofilterAktivieren()
    If Not ActiveSheet.AutoFilterMode Then
        ActiveSheet.Rows("1:1").AutoFilter
    End If
End Sub

2. Was passiert, wenn ich ActiveSheet.ShowAllData benutze?
Dieser Befehl setzt alle Filter auf "alle" und zeigt alle Daten an, entfernt jedoch nicht den Autofilter. Um den Autofilter komplett zu deaktivieren, musst du ActiveSheet.AutoFilterMode = False verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige