Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1568to1572
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
Text to Date Umwandeln
11.07.2017 15:14:59
Henry
Moin,
ich importiere eine xls in meine Mappe und versuche die Datumsangaben
von Text zu Datum zu konvertieren.
Anbei eine Beispieldatei.
https://www.herber.de/bbs/user/114812.xlsm
Merkwürdigerweise konvertiert er das Datum sehr oft falsch.
Nach ausführen als VBA wechselt er die Jahreszahl von 2017 z.b auf 2024 oder andere.
Manchmal vertauscht er Tag und Monat, so das statt 06.07.2017 07.06.2017 steht usw.
VBA

Sub umwandeln()
With ActiveSheet.UsedRange.Columns("A").Cells
.TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, FieldInfo:=Array(0,  _
xlYMDFormat)
.NumberFormat = "yyyy-mm-dd"   'change to any date-based number format you prefer the cells  _
_
to display
End With
End Sub
Kennt jemand das Problem dazu und kann helfen ?
Gruß
Henry

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text to Date Umwandeln
11.07.2017 15:45:10
mmat
Wie wird denn das Datum angeliefert, ich meine bevor es von deinem Makro in Spalten verteilt wird.
Mit "dd.mm.yyyy" hatt' ich bisher noch keine Problem. "yyyy-mm-dd" dagegen wäre eher problematisch.
Leider sieht man dies in der Beispielmappe nicht.
vg, MM
AW: Text to Date Umwandeln
11.07.2017 16:09:35
Henry
Hallo MM,
anbei eine neue Datei. Hoffe hieraus wird es deutlicher.
habe außerdem das Fomrat wie von dir vorgeschlagen auf dd.mm.yyyy übernommen.
Die Daten sind alle so wie ich diese aus der Quelle übernehme/importiere (xls Datei)
zb. in Spalte B sind vor Makro nur Daten mit Jahr 2017.
Nach ausführen vom Makro sind die Jahreszahlen komplett falsch.
https://www.herber.de/bbs/user/114814.xlsm
Gruß
Henry
Anzeige
AW: Text to Date Umwandeln
11.07.2017 16:19:49
Henry
https://www.herber.de/bbs/user/114815.xlsm
Ich habe Kontrollspalten zugefügt.
Spalten K, L, M sind exakte Kopien von A,B,C
Spalten N, O, P zeigen durch wenn formel ob die Inhalte identisch sind (z.B wenn N1 = A1 dann ok sonst nicht ok)
Nach ausführen vom Makro springen etliche Werte auf "nicht ok" weil die Datumskonvertierung nicht hinhaut.
Feld A1060 wandelt er von 04-May-17 in 17.05.2017
Feld B12 wandelt er von 10-MAY-17 in 17.05.2010 etc
Feld C272 wandelt er von 31-MAY-17 in 17.05.1931
Er scheint den Tag als Jahreszahl zu interpretieren.
Anzeige
AW: Text to Date Umwandeln
11.07.2017 16:28:06
mmat
Hi,
nee, leider nicht.
Meine Frage (und auch die Schlussbemerkung von Fennek) bezieht auf den Text, bevor Excel irgendwas damit macht.
Also die Rohdaten, Textzeilen mit Feldern im Format fester Breite. Aber alle Felder in einer Zeile, durch Blanks getrennt.
vg, MM
AW: Text to Date Umwandeln
11.07.2017 16:33:47
Henry
acchso, klar ich importiere mit folgendem

Sub die Roh xls wie ich diese erhalten habe und nehme keine Änderungen vor. Ich habe bereits  _
gefragt warum die Datumsangaben unterschiedlich kommen aber das Problem ist nicht gefunden und Behebung ist nicht in Sicht.
Daher versuche ich mir hier über VBA zu helfen.
Allerdings kann ich hier nichts ausmachen was das Format derart unterschiedlich bestimmt.

Sub Import1()
Dim Quelle As Object, Ziel As Object
Dim Datei As String
'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien(*.xls),*xls")
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
'MsgBox "Ausgewählte Datei: " & Datei, , ""
'Ausgewählte Datei öffnen
Workbooks.OpenText Filename:=Datei, _
DataType:=xlDelimited, Semicolon:=True, Local:=True
Set Quelle = ActiveWorkbook.Worksheets(1)
Set Ziel = ThisWorkbook.Worksheets("Redelivery")
'kopieren und einfügen
Quelle.UsedRange.Copy Ziel.Cells(1, 1)
ActiveWorkbook.Close SaveChanges = False
MsgBox "Redelivery geladen"
Sheets("Redelivery").Range("A1").Value = "X"
'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing
Exit Sub
End Sub

Anzeige
AW: Text to Date Umwandeln
11.07.2017 17:00:20
mmat
Nicht das Makro, den Dateninhalt bitte. (nur 2-3 Zeilen dieses Textes).
Ich bin nun ein wenig irritiert, diese Datei sollte die Erweiterung ".csv" oder ".txt" haben und sich mit einem Texteditor (Notepad) öffnen lassen
vg, MM
AW: Text to Date Umwandeln
11.07.2017 17:09:37
Henry
nee, ist tatsächlich eine xls aus dem System erstellt.
Ich glaube ich habe eine Lösung. Auch wenn sie unschön ist.
Zuerst Funktion IstDatum erstellen.
Dann per Formel kovertieren:
=WENN(BU2="";"";WENN(IstDatum(BU2);VERKETTEN(LINKS(BU2;2);".";TEIL(BU2;4;2);".";RECHTS(BU2;2)); WENN(NICHT(IstDatum(BU2));VERKETTEN(LINKS(BU2;2);".";WENN(TEIL(BU2;4;3)="JAN";1;WENN(TEIL(BU2;4;3) ="FEB";2;WENN(TEIL(BU2;4;3)="MAR";3;WENN(TEIL(BU2;4;3)="APR";4;WENN(TEIL(BU2;4;3)="MAY";5; WENN(TEIL(BU2;4;3)="JUN";6;WENN(TEIL(BU2;4;3)="JUL";7;WENN(TEIL(BU2;4;3)="AUG";8;WENN(TEIL(BU2;4;3) ="SEP";9;WENN(TEIL(BU2;4;3)="OCT";10;WENN(TEIL(BU2;4;3)="NOV";11;WENN(TEIL(BU2;4;3)="DEC";12;)))))))) ))));".";RECHTS(BU2;2)))))
Aber ich weiß dann immer noch nicht was das eigentliche Problem mit der Formatierung war :(
Trotzdem, 1000 Dank für die Unterstützung. falls doch noch etwas auffällt gern bescheid geben.
Schönen Abend
Anzeige
AW: Text to Date Umwandeln
11.07.2017 17:18:39
mmat
Naja, versuch mal die ".xls" mit Notepad zu öffnen ... Es müsste lesbarer Text drin stehen, keine Hiroglyphen.
Deine Lösung ist nicht schön, aber die Alternative wäre aber wahrscheinlich ein manueller Import der Daten mit VBA. Gewisse Zicken kann man Excel einfach nicht abgewöhnen, wie z.B. das ungefragte Konvertieren von z.B. "12/1" in ein Datum.
vg, MM
AW: Text to Date Umwandeln
11.07.2017 17:24:15
Gunter
Tschuldigung wenn ich mich hier mit reinhänge. In der Beispieldatei https://www.herber.de/bbs/user/114815.xlsm im Makro steht für die Spalte B FieldInfo:=Array(0, xlYMDFormat), wenn das durch FieldInfo:=Array(0, xlDMYFormat) ersetzt wird, dann funktioniert es für die Spalte B. Hoffe das hilft.
Gruss
Gunter
Anzeige
AW: Text to Date Umwandeln
11.07.2017 17:35:24
Henry
Gunter, danke fürs reinhängen!!! Werden ich gleich Zuhause ausprobieren. Wenn das die Lösung ist dann Kipp ich um und Ann wieder ruhig schlafen :)
AW: Text to Date Umwandeln
11.07.2017 17:49:06
Gunter
Ich versteh bei den Hilfeseiten für die Syntax zwar meistens auch nur Bahnhof:

https://msdn.microsoft.com/de-de/library/office/ff193593.aspx
aber manchmal hilft die Hilfe dann doch, nur für den Fall, dass das immer noch nicht des Rätsels Lösung war.
AW: Text to Date Umwandeln
11.07.2017 15:48:17
Fennek
Hallo,
bei "Text-to-Column" kann man jeder Spalte ein Format zuweisen. Sind alle relevanten Spalten als "Datum" formatiert?
mfg
(es wäre besser, wenige Zeilen der Original-Daten, also vor "T-t-C" vorzulegen)
Anzeige
AW: Text to Date Umwandeln
11.07.2017 18:07:51
Planlos
Hallo
wenn das Datum in der xls/csv/txt immer im selben Format vorliegen (hier wohl kurzes US-Datum) dann könntest du dieses ggf über eine Api oder einer evtl vorhandenenen internen Exclefunktion beim Import oder mit Hilfe einer Formel mit übergabe der LänderID wandeln.
da ich kein Excelianer bin hier mal n Vorschlag mit Api
Private Declare Function VarDateFromStr Lib "OLEAUT32.DLL" _
( _
ByVal strIn As Long, _
ByVal LCID As Long, _
ByVal dwFlags As Long, _
ByRef pdateOut As Date _
) As Long
Function GetDate(ByVal s As String, Optional ByVal LCID As Long = 1031) As Date
call VarDateFromStr(StrPtr(s), LCID, &H80000000, GetDate)
End Function
In A1: 31-MAY-17
In B1: GetDate(A1;1033)
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige