Workbooks.OpenText - Datumsformat
Rainer
Liebe XL-ler!
Ich versuche seit geraumer Zeit einen Fehler bei der Umwandlung von Datumsangaben zu finden.
Aus einer SQL-Abfrage wird eine XL-Datei im TXT Format gespeichert. Diese öffne bzw. bearbeite ich mittels VBA, zum Schluss speichere ich die Datei als normale XLS-Datei. Grundsätzlich wird alles richtig gemacht, auch die Pivot-Tabelle etc ist korrekt.
Allerdings muss immer wieder bei der fertigen Datei für Details in der Datentabelle nachgeschaut werden. Hier kann dann nicht nach den Datums-Spalten gefiltert werden, obwohl die Anzeige auf den ersten Blick zwar richtig steht, aber die Werte als Text und nicht als Datum formatiert sind.
Habe schon einiges herumprobiert (auch Formatierung im SQL-Query Analyser). Wenn ich das einlesen "händisch" durchführe und den Makrorecorder mitlaufen lasse, funktioniert das AutoFiltern korrekt. Starte ich den aufgezeichneten Code mit der selben Datei, kann ich nicht mehr filtern. Das Datum wird nicht mehr als solches erkannt, sondern als Text ausgegeben.
Hier der Codeausschnitt, der durch das Aufzeichnen entsteht:
Workbooks.OpenText Filename:= _
"\\servername\..\Datei.xls" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, Tab:=True, FieldInfo:=Array(Array _
(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8 _
, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), _
Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array( _
21, 1), Array(22, 1)), TrailingMinusNumbers:=True
Excel 2003 – aktuellste Patches
Wenn ich eine Datumszelle z.B. mit F2 aktiviere und danach ENTER drücke, wir es korrekt in ein Datum umgewandelt. Dies ist bei 20-30.000 Zeilen und 2 Datumsspalten natürlich ein zusätzliche Aufwand, auch wenn ich es z.B. mit einer Schleife / for each .. durchlaufen lasse. Das muss sich doch beim Einlesen abfangen lassen!
Kennt jemand das Problem?
Danke für eure Hilfe!
Rainer