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

Filterkriterien unter VBA

Forumthread: Filterkriterien unter VBA

Filterkriterien unter VBA
10.12.2002 23:23:25
Patrick
Hallo liebe Experten!

Folgendes Problem plagt mich:

Ich habe eine Prozedur geschrieben, die automatisch den Autofilter aktiviert. Jetzt möchte ich natürlich auch Kriterien vorgeben, die zuvor in einem Listenfeld ausgewählt wurden.
Ich möchte jetzt mit den Operatoren kleiner/gleich und grösser/gleich arbeiten und das ganze mit zwei Variablen(die den Inhalt aus den Formularfeldern enthalten) verknüpfen:
Syntax: Selection.AutoFilter Field:=2, Criteria1:=Variable1, Operator:=xland, _
Criteria2:=Variable2
Dies wirft mir die Ergebnisse aus "ist gleich Variable1 und ist gleich Variable2".
Weiss jemand, wie ich das Grösser-bzw.Kleiner-Zeichen in die Syntax einbauen kann? Datentypen sind m.E. ordentlich deklariert. Habe schon alles versucht, bekomme aber immer die Fehlermeldung "Erwartet Ausdruck".:-(
Dann noch eine Frage: wenn ich ein Datum als Variable übergeben will, dann verarbeitet er das zwar (auch korrekt, soweit ich in den Autofilterkriterien sehen kann, d.h. der richtige Eintrag ist markiert), aber gibt keine Ergebnisse aus. Wähle ich dann den bereits markierten Eintrag aus, zeigt er die gewünschten Ergebnisse an.

Wieso steht eigentlich sowas nie in den schlauen Büchern? Aber das gehört hier nicht her.

Ich bin für jeden Tip dankbar!

MFG Patrick

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Filterkriterien unter VBA
11.12.2002 00:06:08
PeterW
Hallo Patrick,

bei solchen Fragen leistet der Makrorekorder excellente Dienste:

Criteria1:=">" & i

wobei sich hinter i natürlich eine Variable verbirgt.

Gruß
Peter

Re: Filterkriterien unter VBA
11.12.2002 00:12:40
Martin Bolleter
Hallo Patrick

versuch mal, den Operator für jedes Kriterium mit deiner Variablen zu verknüpfen:
Criteria1:=">=" & Variable1, resp.
Criteria2:="<=" & Variable2

Gruss
Martin

Anzeige
Re: Filterkriterien unter VBA
11.12.2002 05:52:36
Patrick
Danke, liebe Leute.

Jetzt läuft die Prozedur einwandfrei.:-)

MFG Patrick

;
Anzeige

Infobox / Tutorial

Filterkriterien in VBA optimal nutzen


Schritt-für-Schritt-Anleitung

Um Filterkriterien in VBA für Excel korrekt zu setzen, befolge diese Schritte:

  1. Aktiviere den Autofilter:

    Selection.AutoFilter
  2. Setze die Kriterien: Verwende die Syntax für Criteria1 und Criteria2. Zum Beispiel:

    Selection.AutoFilter Field:=2, Criteria1:=">=" & Variable1, Operator:=xlAnd, Criteria2:="<=" & Variable2

    Hierbei ist Variable1 und Variable2 der Wert aus deinen Formularfeldern.

  3. Operator verwenden: Stelle sicher, dass du den Operator richtig definiert hast. In diesem Fall verwenden wir xlAnd für eine Verknüpfung der Kriterien.

  4. Daten überprüfen: Achte darauf, dass die Variablen die richtigen Datentypen haben (z.B. Zahlen oder Datumswerte).


Häufige Fehler und Lösungen

  • Fehlermeldung "Erwartet Ausdruck": Diese tritt oft auf, wenn die Syntax nicht korrekt ist. Überprüfe, ob die Variablen richtig deklariert sind und der Operator korrekt verwendet wird.

  • Keine Ergebnisse beim Filtern von Datumswerten: Wenn du ein Datum filterst, stelle sicher, dass das Datum im richtigen Format übergeben wird. Beispielsweise könnte ein Datum als String übergeben werden, was zu Problemen führen kann.


Alternative Methoden

Eine alternative Methode zur Verwendung von Filterkriterien ist der Makrorekorder. Er kann dir helfen, die genauen Befehle für deine Filterkriterien zu identifizieren. Wenn du beispielsweise einen Vergleich sehen möchtest, kannst du Folgendes im Makrorekorder ausprobieren:

  1. Setze den Filter manuell.
  2. Schau dir den generierten VBA-Code an und passe ihn entsprechend an.

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von Filterkriterien in VBA:

  1. Filter für größere Werte:

    Selection.AutoFilter Field:=1, Criteria1:=">=" & Variable1
  2. Filter für kleinere Werte:

    Selection.AutoFilter Field:=1, Criteria1:="<=" & Variable2
  3. Filter für nicht gleich: Wenn du excel vba autofilter criteria not equal to verwenden möchtest, kannst du Folgendes verwenden:

    Selection.AutoFilter Field:=1, Criteria1:="<> " & Variable1

Tipps für Profis

  • Nutze Criteria1:= und Criteria2:= für komplexere Filter. Du kannst auch mehrere Bedingungen kombinieren, um spezifischere Ergebnisse zu erzielen.
  • Achte darauf, die Variablen vor der Verwendung zu deklarieren und zu initialisieren, um Laufzeitfehler zu vermeiden.
  • Experimentiere mit verschiedenen Operatoren wie xlAnd und xlOr, um die Filterkriterien anzupassen.

FAQ: Häufige Fragen

1. Wie setze ich mehrere Filterkriterien in VBA?
Du kannst mehrere Kriterien mit Criteria1 und Criteria2 setzen und den Operator xlAnd oder xlOr verwenden, um die Bedingungen zu verknüpfen.

2. Was mache ich, wenn meine Filter keine Ergebnisse zurückgeben?
Überprüfe die Datentypen der Variablen und stelle sicher, dass die Werte im richtigen Format übergeben werden. Zudem solltest du die Datenstruktur in Excel überprüfen, um sicherzustellen, dass die Filterkriterien korrekt angewendet werden.

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