Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Per VBA Datum filtern

Per VBA Datum filtern
06.12.2019 16:36:20
Andreas
Ich möchte mit einem Makro zwei Datumsspalten (Beginn und Ende eines Events) filtern.
Beispielsweise habe ich ein Makro für laufende Events vorliegen. Theoretisch funktioniert das Makro auch. Leider nicht mit den mir vorliegenden Datensätzen. Diese haben folgendes Format: Standard YYYY-MM-DD also beispielsweise 2019-12-06.
Führe ich das Makro aus, wird nichts gefiltert, obwohl ich Ergebnisse erhalten müsste. Habe im Code auch versucht das Format zu ändern... -> Datum = Format(Now(), "YYYY-MM-DD") -> hat nicht geholfen.
Nun ist es so, dass wenn ich das Datumsformat der Datensätze in Datum: "TT.MM.JJJJ" ändern möchte, passiert nichts. Die Datumsangaben bleiben weiter in folgendem Format sichtbar: YYYY-MM-DD. Erst wenn ich in jede einzelne Zelle reingehe und Enter drücke, ändert sich das Format in "TT.MM.JJJJ". Und dann funktioniert auch das Makro. Das ist mir natürlich viel zu aufwendig bei sehr vielen Datensätzen. Zudem sollen die Datensätze auch per SVERWEIS in der Tabelle landen. Daher soll sich nach Möglichkeit nichts Format ändern, sondern lieber am Makro...
Hat jemand eine Idee wie ich meine Datensätze mit dem Datumsformat YYYY-MM-DD trotzdem mit _ meinem Makro filtern kann?

Sub Laufend()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Dim Datum As Date
Datum = Format(Now(), "TT.MM.JJJJ")
Rows("6:1").AutoFilter Field:=6, Criteria1:="" & CDbl(Datum)
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Datum filtern
06.12.2019 17:08:23
Christian
Hallo Andreas,
Erst wenn ich in jede einzelne Zelle reingehe und Enter drücke, ändert sich das Format in "TT.MM.JJJJ"
Multipliziere den Bereich mit dem Faktor 1 und setze dann das Format "TT.MM.JJJJ" bzw. "JJJJ-MM-TT".
Also:
- in der Tabelle irgendwo eine 1 eintragen,
- diese kopieren,
- den Bereich mit dem Datum markieren
- rechte Maustaste: Inhalte einfügen - multiplizieren.
Dann hast du die Datumsangaben als Long-Werte und dem kannst du entsprechend formatieren, sortieren, etc.
Grüße
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige