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

Forumthread: Prüfen ob Autofilter aktiv

Prüfen ob Autofilter aktiv
29.11.2005 19:12:50
Ralf
Hallo zusammen,
ich habe folgendes Problem:
Ich wechsele mit Makro auf ein bestimmtes Tabellenblatt. Dort möchte ich prüfen ob der Autofilter aktiv ist. Falls nicht soll er gesetzt werden.
Mit dem Befehl:
Selection.AutoFilter
schalte ich leider den Filter aus wenn er bereits aktiv ist.
Wie kann ich dies vermeiden
Besten Dank im voraus
Gruss
Ralf
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Autofilter aktiv
29.11.2005 19:16:51
Josef
Hallo Ralf!
If Not ActiveSheet.AutoFilterMode Then
  Range("A1:D1").AutoFilter
End If

'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Prüfen ob Autofilter aktiv
29.11.2005 19:35:57
Ralf
Hallo Josef,
hab das ganze gleich mal auprobiert. Klappt super!
Besten Dank
Gruss
Ralf
;
Anzeige
Anzeige

Infobox / Tutorial

Autofilter in Excel prüfen und aktivieren


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu überprüfen, ob der Autofilter aktiv ist und ihn gegebenenfalls zu aktivieren, kannst du folgendes Vorgehen nutzen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), wähle Einfügen und dann Modul.

  3. Füge den folgenden Code ein:

    Sub AutofilterPruefen()
       If Not ActiveSheet.AutoFilterMode Then
           Range("A1:D1").AutoFilter
       End If
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und drücke ALT + F8, um das Makro AutofilterPruefen auszuwählen und auszuführen.

Mit diesem Code überprüfst du, ob der Autofilter gesetzt ist. Falls nicht, wird er auf den Bereich A1:D1 aktiviert. Dies ist eine effektive Methode, um in Excel VBA zu prüfen, ob der Autofilter gesetzt ist.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert."

    • Lösung: Stelle sicher, dass das Arbeitsblatt, auf dem du arbeitest, tatsächlich Daten im angegebenen Bereich (A1:D1) hat.
  • Fehler: Der Autofilter wird nicht gesetzt.

    • Lösung: Überprüfe, ob bereits ein Autofilter auf einem anderen Bereich aktiv ist. Der Code setzt den Filter nur auf A1:D1, wenn dieser nicht aktiv ist.

Alternative Methoden

Eine alternative Methode zur Überprüfung des Autofilters ist die Verwendung einer Funktion, die eine Rückgabe liefert, ob der Autofilter aktiv ist:

Function IstAutofilterAktiv() As Boolean
    IstAutofilterAktiv = ActiveSheet.AutoFilterMode
End Function

Du kannst diese Funktion verwenden, um in deinem Code Bedingungen zu prüfen und entsprechend zu handeln.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Autofilter in einer spezifischen Tabelle prüfen und aktivieren kannst:

Sub AutofilterInTabellePruefen()
    With ThisWorkbook.Worksheets("Tabelle1")
        If Not .AutoFilterMode Then
            .Range("A1:D1").AutoFilter
        End If
    End With
End Sub

In diesem Beispiel wird der Autofilter auf Tabelle1 geprüft und gesetzt, wenn er nicht aktiv ist.


Tipps für Profis

  • Effiziente Nutzung: Wenn du häufig den Autofilter verwendest, erstelle eine benutzerdefinierte Symbolleiste oder einen Shortcut, um das Makro schnell auszuführen.
  • Erweiterte Filter: Nutze AdvancedFilter, um komplexere Filterbedingungen zu setzen. Dies kann besonders nützlich sein, wenn du mehrere Kriterien hast.

FAQ: Häufige Fragen

1. Wie kann ich den Autofilter für mehrere Bereiche aktivieren? Du kannst den Autofilter für mehrere Bereiche aktivieren, indem du den Code entsprechend anpasst und mehrere AutoFilter-Befehle verwendest.

2. Gibt es eine Möglichkeit, den Autofilter automatisch zu deaktivieren? Ja, du kannst den Autofilter deaktivieren, indem du ActiveSheet.AutoFilterMode = False verwendest.

3. Funktioniert dieser Code in älteren Excel-Versionen? Ja, der Code ist mit den meisten Excel-Versionen ab Excel 2007 kompatibel, solange VBA unterstützt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige