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

Forumthread: VBA größer gleich... + kleiner gleich

VBA größer gleich... + kleiner gleich
31.01.2008 09:18:00
Timonski
Servus
will in vba filtern mit größer gleich E8 und kleiner gleich F8
hab folgende formel
Selection.AutoFilter Field:=5, Criteria1:=">=" & Cells(8, 5), Operator:=xlAnd, Criteria2:="
wenn ich es ausführ kommt nichts...
wenn ich aber dann den filter anschau steht es richtig drin, und wenn ich dann bestätig kommt das was ich sehen will..
was mach ich falsch?
und für was ist "Operator:=xlAnd, " das?
danke

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA größer gleich... + kleiner gleich
31.01.2008 09:35:00
Luschi
Hallo
ich vermute mal, daß in den beiden Zellen Datumswerte stehen; dann so:

Selection.AutoFilter Field:=5, Criteria1:=">=" & CDbl(ActivesSeet.Cells(8, 5).Value), _
Operator:=xlAnd, Criteria2:="

xlAnd sorgt dafür, daß beide Kritrien überprüft werden.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA größer gleich... + kleiner gleich
31.01.2008 09:35:27
Josef
Hallo ?
ich vermute mal, das es sich bei den Kriterien um Daten (Datum) handelt.

Selection.AutoFilter Field:=5, Criteria1:=">=" & CDbl(Cells(8, 5)), Operator:=xlAnd, Criteria2:= _
"


Der Operator xlAnd ist die Und-Verknüpfung.


Gruß Sepp



Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA: Filtern mit Größer Gleich und Kleiner Gleich in Excel


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA Filter zu setzen, die sowohl „größer gleich“ als auch „kleiner gleich“ berücksichtigen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei)“ und wähle „Einfügen“ > „Modul“.

  3. Schreibe den VBA-Code: Füge den folgenden Code in das Modul ein:

    Sub FilterGroesserKleiner()
       Selection.AutoFilter Field:=5, Criteria1:=">=" & CDbl(Cells(8, 5)), _
       Operator:=xlAnd, Criteria2:="<=" & CDbl(Cells(8, 6))
    End Sub
  4. Anpassen der Zellreferenzen: Stelle sicher, dass die Zellreferenzen in Cells(8, 5) und Cells(8, 6) auf die richtigen Zellen zeigen, die die Kriterien enthalten.

  5. Führe das Makro aus: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle das Makro „FilterGroesserKleiner“ und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Problem: Der Filter zeigt keine Ergebnisse an.

    • Lösung: Überprüfe, ob die Zellen, die Du filterst, tatsächlich Werte enthalten, die den Kriterien entsprechen. Wenn Du mit Datumswerten arbeitest, stelle sicher, dass Du CDbl verwendest, um sie korrekt in numerische Werte umzuwandeln.
  • Problem: Der Code gibt einen Laufzeitfehler aus.

    • Lösung: Überprüfe, ob Du Operator:=xlAnd korrekt verwendet hast. Dieser Operator stellt sicher, dass beide Kriterien gleichzeitig angewendet werden.

Alternative Methoden

Eine alternative Methode, um die Filterung in Excel durchzuführen, ist die Verwendung der Excel-Formel direkt in den Zellen:

  1. Verwende die Formel: Du kannst auch die Formel =UND(A1>=E8; A1<=F8) in eine Hilfsspalte einfügen, um zu überprüfen, ob die Bedingungen erfüllt sind.
  2. Filtere nach der Hilfsspalte: Setze dann einen Filter auf diese Hilfsspalte, um nur die Zeilen anzuzeigen, die WAHR zurückgeben.

Praktische Beispiele

Angenommen, Du möchtest Daten in Spalte E filtern, die größer oder gleich dem Wert in Zelle E8 und kleiner oder gleich dem Wert in Zelle F8 sind. Der VBA-Code sieht so aus:

Sub BeispielFilter()
    Selection.AutoFilter Field:=5, Criteria1:=">=" & Cells(8, 5).Value, _
    Operator:=xlAnd, Criteria2:="<=" & Cells(8, 6).Value
End Sub

Du kannst diesen Code anpassen, um auf andere Spalten oder Kriterien zuzugreifen.


Tipps für Profis

  • Verwendung von Variablen: Anstatt Zellreferenzen direkt im Code zu verwenden, kannst Du Variablen definieren, um den Code übersichtlicher zu gestalten:

    Dim startWert As Double
    Dim endWert As Double
    startWert = CDbl(Cells(8, 5).Value)
    endWert = CDbl(Cells(8, 6).Value)
    
    Selection.AutoFilter Field:=5, Criteria1:=">=" & startWert, _
    Operator:=xlAnd, Criteria2:="<=" & endWert
  • Verwendung von xlOr: Wenn Du eine alternative Logik benötigst, kannst Du den Operator xlOr verwenden, um die Filterbedingungen zu ändern.


FAQ: Häufige Fragen

1. Wie kann ich den Filter zurücksetzen? Um den Filter zurückzusetzen, kannst Du einfach ActiveSheet.AutoFilterMode = False verwenden.

2. Was bedeutet der Operator xlAnd? Der Operator xlAnd sorgt dafür, dass beide Kriterien gleichzeitig erfüllt sein müssen, damit ein Datensatz angezeigt wird.

3. Kann ich auch mit Texten filtern? Ja, Du kannst auch Textwerte filtern, indem Du die Kriterien entsprechend anpasst. Beispielsweise: Criteria1:="=TextWert".

4. Wie gehe ich mit leeren Zellen um? Wenn Du sicherstellen möchtest, dass leere Zellen nicht in das Filterergebnis einfließen, musst Du eine zusätzliche Bedingung hinzufügen, die leere Zellen ausschließt.

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