Registriert seit: 01.02.2017
Version(en): 13
Hallo,
ich habe ein kleines Problem und komme nicht auf die (vermeintlich einfache) Lösung.
Ich möchte in VBA einen Filter einschalten. Ich frage das Datum "von" und "bis" per UserForm ab und die Spalte 4 (Bzw in der Tabelle ab D5 abwärts) soll dann danach gefiltert werden.
Dazu habe ich in VBA die Zeile:
Worksheets("Fertigmeldungen").Range("D5").AutoFilter Field:=4, Criteria1:=">=" & von, Operator:=xlAnd, Criteria2:="<=" & bis
Excel setzt den Filter an der richtigen Stelle aber das Ergebnis ist immer leer.
Dabei habe ich dort entsprechende Einträge.
Das Zahlenformat auf diese Zellen ist so eingestellt ("01.01.21")
Hat jemand eine Idee wo der Fehler liegt
Gruß
Statler
Registriert seit: 06.09.2016
Version(en): 2016
Hallo Statler,
Du bist auf dem richtigen Weg. Hört sich nach verschiedenen Datentypen an.
Lies einfach mal einen Wert (z.B. D6) in eine Variable ein, gehe den Code im Einzelschrittmodus durch und schau dir an, wie deine Werte genau aussehen.
Haben beide Gänsefüßchen vor und hinter dem Wert, oder beide keine?
Und natürlich hilft eine Beispieldatei...
Gruß,
Lutz
Registriert seit: 01.02.2017
Version(en): 13
Hallo Lutz,
vielen Dank für deinen Hinweis.
Ich bin schon mal ein gutes Stück weiter.
Die Abfrage funktioniert jetzt bis hier:
ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria1:=Lieferdatum_von
so weit so gut. Wenn ich nun einen Vergleichsoperator (so wie im Internet angegeben) hinzufüge - funktioniert es nicht mehr. Also so
ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=4, Operator:=xlFilterValues, Criteria1:="<=" & Lieferdatum_von
Ich habe also "nur" ein "<=" & mit angefügt. Laut Internetrecherche sollte das funktionieren. Dann ist die Liste bei mir aber imme leer.
Hast Du oder hat sonst jemand eine Idee, warum das so ist?
Gruß
Statler
Registriert seit: 06.09.2016
Version(en): 2016
Registriert seit: 01.02.2017
Version(en): 13
28.07.2021, 16:30
(Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2021, 16:49 von Statler.)
Hallo Lutz,
das wäre zu schön gewesen.... nein, funktioniert leider auch nicht
Gruß
Statler
Ich gebe so langsam auf.
Wenn ich den Makro-Rekorder verwende und "per Hand" filtere funktioniert der Filter.
Wenn ich den Filter dann wieder manuell entferne und das Makro wieder aufrufe ist die Liste leer.
Wie geht das denn?
Statler
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Oh ja, das hat einige und auch mich schon mal viel Zeit gekostet.
Du brauchst das Datum im US Format.
Criteria1:=">=01/16/2020", Operator:=xlAnd, Criteria2:="<=02/10/2020"
Gruß Elex
00202
Nicht registrierter Gast
Hallo,
Datum filtern ist etwas zickig. Wenn du das mit einer TextBox auf einer UserForm machst, musst du etwas "
ummodeln".
In meinem Beispiel sind es ComboBoxen, aber das Prinzip bleibt.
[attachment=39590]
Registriert seit: 01.02.2017
Version(en): 13
An alle vielen Dank für die Tips.
Ich habe eine Lösung gefunden. Das Umschreiben in dem Format 00/00/0000 hatte ich auch probiert. Das hat nicht funktioniert.
Was funktioniert hast ist die Deklaration DIM Lieferdatum_von as Date und DIM Lieferdatum_bis as Date.
Das in Verbindung mit CBdl() funktioniert. Ich hatte also "nur" das DIM as... nicht drin.
Jetzt geht es.
Danke Euch :)