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

Excel-VBA: Filter mit Variabler setzen

Forumthread: Excel-VBA: Filter mit Variabler setzen

Excel-VBA: Filter mit Variabler setzen
22.05.2007 18:01:34
Sabine
Hallo Leute.
Ich möchte gerne über ein VBA Skript eine Filterauswahl über ein Auswahlfeld (Drop-Down-Feld in einer Zelle in Excel) setzen. Dabei soll die Filterauswahl z.B.lauten:
enthält: "Schmi" oder
enthält: "Schnei"
Beim Aufzeichnen wird der Begriff in *Sternchen* gesetzt.
Selection.AutoFilter Field:=15, Criteria1:="=*Schmi*", Operator:=xlOr _
, Criteria2:="=*Schnei*"
Nun meine Frage: Wenn ich die Felder *Schmi* bzw. *Schnei* als Variable mitgeben möchte, wie muss ich das anstellen. Wenn ich nämlich eine variable "name" vergebe und diese zwischen die Sternchen setze schreibt mir Excel natürlich immer den Begriff name in meine Filterauswahl.
Vielen Dank für die Unterstützung und Grüße
Sabine

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Excel-VBA: Filter mit Variabler setzen
22.05.2007 18:10:01
Hubert
Selection.AutoFilter Field:=15, Criteria1:="=*" & name &"*", Operator:=xlOr _
, Criteria2:="=*" & name2 & "*"
mfg Hubert

AW: Excel-VBA: Filter mit Variabler setzen
23.05.2007 09:40:03
Sabine
Vielen Dank!
Grüße, Sabine
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-VBA: Filter mit Variabler setzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und aktiviere die Entwicklertools.

    • Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.
  2. Füge ein Drop-Down-Feld hinzu.

    • Wähle eine Zelle aus, gehe zu Daten > Datenüberprüfung und wähle Liste. Gib die Werte ein, die gefiltert werden sollen.
  3. Öffne den VBA-Editor.

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge ein neues Modul hinzu.

    • Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.
  5. Schreibe den Code für den Filter.

    • Verwende den folgenden Beispielcode, um die Filterfunktion zu implementieren:
    Sub FilterMitVariablen()
       Dim name As String
       Dim name2 As String
    
       name = Range("A1").Value ' Zelle mit dem ersten Filterwert
       name2 = Range("A2").Value ' Zelle mit dem zweiten Filterwert
    
       Selection.AutoFilter Field:=15, Criteria1:="=*" & name & "*", Operator:=xlOr, Criteria2:="=*" & name2 & "*"
    End Sub
  6. Führe das Makro aus.

    • Schließe den VBA-Editor und gehe zurück zu Excel. Führe das Makro über Entwicklertools > Makros aus.

Häufige Fehler und Lösungen

  • Fehler: Filter funktioniert nicht.

    • Stelle sicher, dass der Range und das Feld korrekt definiert sind. Überprüfe, ob die Daten tatsächlich im Datenbereich enthalten sind.
  • Fehler: Variable wird nicht erkannt.

    • Vergewissere dich, dass die Variablen name und name2 korrekt zugewiesen sind und die Zellen, aus denen sie stammen, tatsächlich Werte enthalten.

Alternative Methoden

  • Verwendung von Excel VBA Filter Function:

    • Du kannst auch die Filter-Funktion in VBA verwenden, um eine Liste zu erstellen, die den Kriterien entspricht. Hier ist ein Beispiel:
    Dim FilteredList As Variant
    FilteredList = Filter(Range("A1:A100").Value, name)
  • Direktes Filtern ohne VBA:

    • Du kannst auch die integrierten Filter in Excel verwenden, um Daten ohne VBA zu filtern. Wähle die Daten aus und gehe zu Daten > Filter.

Praktische Beispiele

  1. Beispiel für einen einfachen Filter:

    • Setze name auf "Schmi" und name2 auf "Schnei". Der Code filtert dann die Liste, um nur die Zeilen anzuzeigen, die diese Werte enthalten.
  2. Erweiterte Filterkriterien:

    • Du kannst auch mehrere Kriterien in einer Variablen kombinieren, um komplexere Filteroperationen durchzuführen.

Tipps für Profis

  • Verwende Operatoren wie xlOr:

    • Nutze Operator:=xlOr, um mehrere Filterkriterien zu kombinieren, was besonders nützlich für komplexe Filter in Excel VBA ist.
  • Fehlerbehandlung:

    • Implementiere Fehlerbehandlungsroutinen in deinen VBA-Skripten, um Probleme während der Ausführung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Filterkriterien in Excel VBA setzen? Du kannst mehrere Kriterien mit dem Operator:=xlOr oder Operator:=xlAnd kombinieren, um komplexe Filter zu erstellen.

2. Was ist der Unterschied zwischen Criteria1 und Criteria2? Criteria1 wird für den ersten Filter verwendet, während Criteria2 für den zweiten Filter vorgesehen ist. Dies ermöglicht es dir, mehrere Kriterien gleichzeitig anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige