05.01.2023, 22:39
(Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2023, 22:42 von Duderinho.
Bearbeitungsgrund: Typo
)
Hallihallo,
ich verzweifle an der depperten Autofilterfunktion in vba. (Alleine, dass man bei mehr als zwei Kriterien in einem Kriterienarray keine Wilcards in Strings einbauen darf, hat mich Stunden gekostet).
Jetzt hocke ich da und mir raucht der Kopf wegen einem Datumsfilter.
Ausgangslage:
Eine Tabelle mit einer Spalte mit Datumsangaben im Format YYYY-MM-DD. Egal welches Format ich in der Tabelle selbst festlege (auch wenn ich von Standard explizit auf Datum umstelle), bleibts beim String "YYYY-MM-DD".
Maßnahme: Ich bereininge die Daten sowieso schon zeilenweise, also habe ich eine Typkonversion eingebaut: CDate (String).... und damit habe ich dann jede Zelle überschreiben.
=> War erfolgreich. Im VBA-Editor sehe ich jetzt als Typ Variait/Date statt Variant/String und wenn man jetzt in der Tabelle das Datumsformat ändert, dann funktioniert das auch. Auch beim Filter werden jetzt Datumsfilter angezeigt und nicht mehr Textfilter.
Damit kann das Filtern mit Autofilter mit Date-Variablen als Kriterium ja nicht mehr schwer sein....
Bspw. Worksheets("Imported data").Range("A1").AutoFilter 4, ">=" & daStartDate
(dStartDate ist vom Format Date).
Ergebnis: Tabelle leer. Alles weggefiltert.
Also hab ich mir den Filter in der Tabelle angeschaut.
Aktiviert ist: Datumsfilter -> benutzerdefinierter Filter -> "ist nach oder gleich" -> korrektes Datum.
WTF. Stimmt doch alles.
Und jetzt kommts.
Ich ändere nichts (!) und drücke nur OK und schwupps ist die Tabelle perfekt gefiltert und die Daten sind da.
Ich mag nicht mehr und bin für jeden Denkanstoß dankbar.
ich verzweifle an der depperten Autofilterfunktion in vba. (Alleine, dass man bei mehr als zwei Kriterien in einem Kriterienarray keine Wilcards in Strings einbauen darf, hat mich Stunden gekostet).
Jetzt hocke ich da und mir raucht der Kopf wegen einem Datumsfilter.
Ausgangslage:
Eine Tabelle mit einer Spalte mit Datumsangaben im Format YYYY-MM-DD. Egal welches Format ich in der Tabelle selbst festlege (auch wenn ich von Standard explizit auf Datum umstelle), bleibts beim String "YYYY-MM-DD".
Maßnahme: Ich bereininge die Daten sowieso schon zeilenweise, also habe ich eine Typkonversion eingebaut: CDate (String).... und damit habe ich dann jede Zelle überschreiben.
=> War erfolgreich. Im VBA-Editor sehe ich jetzt als Typ Variait/Date statt Variant/String und wenn man jetzt in der Tabelle das Datumsformat ändert, dann funktioniert das auch. Auch beim Filter werden jetzt Datumsfilter angezeigt und nicht mehr Textfilter.
Damit kann das Filtern mit Autofilter mit Date-Variablen als Kriterium ja nicht mehr schwer sein....
Bspw. Worksheets("Imported data").Range("A1").AutoFilter 4, ">=" & daStartDate
(dStartDate ist vom Format Date).
Ergebnis: Tabelle leer. Alles weggefiltert.
Also hab ich mir den Filter in der Tabelle angeschaut.
Aktiviert ist: Datumsfilter -> benutzerdefinierter Filter -> "ist nach oder gleich" -> korrektes Datum.
WTF. Stimmt doch alles.
Und jetzt kommts.
Ich ändere nichts (!) und drücke nur OK und schwupps ist die Tabelle perfekt gefiltert und die Daten sind da.
Ich mag nicht mehr und bin für jeden Denkanstoß dankbar.