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

Forumthread: Filter aktivieren

Filter aktivieren
06.12.2017 11:12:10
Burak
Guten Morgen,
sehe mal wieder den Wald vor lauter Bäumen nicht.
Ich will, wenn der Filter (Zeile 1) nicht bereits aktiv ist, ihn aktivieren per VBA.
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
Else
ActiveCell.CurrentRegion.AutoFilter
End If
End If
Wo ist mein fehler?
Freundliche Grüße
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Filter aktivieren
06.12.2017 11:28:33
Nepumuk
Hallo Burak,
versuch es mal so:
Public Sub Filter_setzen()
    If ActiveSheet.AutoFilterMode Then
        If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    Else
        Rows(1).AutoFilter
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Filter aktivieren
06.12.2017 11:41:08
Burak
Jupp hat geholfen, nur bin ich erstaunt dass scheinbar bei deiner Variante 1 End If ausreicht obwohl du 2 If hast.
;
Anzeige
Anzeige

Infobox / Tutorial

Filter aktivieren in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um den Filter in Excel per VBA zu aktivieren, kannst du den folgenden Code verwenden. Dieser überprüft, ob der Autofilter bereits aktiv ist und aktiviert ihn gegebenenfalls:

Public Sub Filter_setzen()
    If ActiveSheet.AutoFilterMode Then
        If ActiveSheet.FilterMode Then
            ActiveSheet.ShowAllData
        Else
            Rows(1).AutoFilter
        End If
    Else
        Rows(1).AutoFilter
    End If
End Sub
  1. Öffne das Excel-Dokument, in dem du den Filter aktivieren möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul ein (Einfügen > Modul).
  4. Kopiere den obigen Code in das Modul.
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Führe das Makro aus (Entwicklertools > Makros > Filter_setzen).

Häufige Fehler und Lösungen

  1. Fehler: "Objektvariable oder With-Blockvariable nicht gesetzt"

    • Dieser Fehler tritt häufig auf, wenn du versuchst, auf ein Blatt zuzugreifen, das nicht aktiv ist. Stelle sicher, dass das Blatt, auf dem du arbeitest, aktiv ist.
  2. Fehler: Filter wird nicht angewendet

    • Überprüfe, ob deine Daten in einer Tabelle ohne leere Zeilen oder Spalten vorliegen. Der Autofilter kann nur auf zusammenhängende Daten angewendet werden.
  3. Fehler: "End If" fehlt

    • Achte darauf, dass du das richtige Ende für jede If-Bedingung verwendest. In der bereitgestellten Lösung ist ein End If für die zweite If-Bedingung nicht erforderlich, da es in die erste Bedingung integriert ist.

Alternative Methoden

  • Excel Autofilter aktivieren über das Menü:

    1. Wähle die Zeile aus, die du filtern möchtest (z.B. Zeile 1).
    2. Gehe zu Daten > Filter > Autofilter.
  • Excel Datumsfilter aktivieren:

    1. Klicke auf den Dropdown-Pfeil in der Kopfzeile der Spalte, die datumsbasierte Daten enthält.
    2. Wähle "Datumsfilter" aus und lege die gewünschten Filterkriterien fest.

Praktische Beispiele

  • Beispiel für die Verwendung von Autofilter mit VBA: Angenommen, du hast eine Liste mit Verkaufsdaten und möchtest nur die Verkäufe eines bestimmten Datums anzeigen. Du kannst den Filter wie folgt anpassen:
Public Sub Filter_datum_setzen()
    If Not ActiveSheet.AutoFilterMode Then
        Rows(1).AutoFilter
    End If
    ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:="01.01.2023" ' Beispiel: Filter für den 1. Januar 2023
End Sub
  • Mit dieser Methode kannst du gezielt auf bestimmte Daten zugreifen, was die Analyse erheblich erleichtert.

Tipps für Profis

  • VBA Autofilter optimieren: Nutze AutoFilterMode, um die Performance zu verbessern. Wenn du nur die Filter anzeigen möchtest, ohne die Daten neu zu laden, verwende If Not ActiveSheet.AutoFilterMode Then.

  • Filter in Kombination mit anderen VBA-Funktionen: Kombiniere den Autofilter mit anderen VBA-Funktionen, um automatisierte Berichte zu erstellen oder Daten zu analysieren.


FAQ: Häufige Fragen

1. Wie aktiviere ich den Autofilter in Excel ohne VBA? Du kannst den Autofilter aktivieren, indem du auf Daten > Filter > Autofilter klickst und die gewünschte Zeile auswählst.

2. Was ist der Unterschied zwischen AutoFilterMode und FilterMode in VBA? AutoFilterMode prüft, ob der Autofilter aktiv ist, während FilterMode prüft, ob ein Filter auf die Daten angewendet wurde.

3. Wie kann ich mehrere Filter gleichzeitig anwenden? Du kannst mehrere Filter anwenden, indem du die Criteria1 und Criteria2 Parameter in der AutoFilter-Methode verwendest, um beispielsweise Werte in einer Spalte zu filtern.

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