09.12.2018, 21:58
Hallo zusammen,
immer wieder Sonntags - bräuchte ich mal wieder Eure werte Hilfe :93:
Aus einer Datenquelle bekomme ich Datumswerte (siehe Spalte B) in dieser Form:
Tabelle7
In Spalte A sind die Anzahl der Stellen, in Spalte B die Original-Daten und in Spalte C die formatierten Werte.
Wie man sieht werden die ersten beiden 7-stelligen Werte nicht richtig formatiert - weil da der Monat > 9 ist.
Wie müsste das folgende Makro ergänzt/abgeändert werden um diese Fälle auch zu erfassen? Es kommt eine Fehlermeldung "Datentypen unverträglich"
Vielleicht habt Ihr mir einen Tipp wie das Makro geändert werden müsste?
immer wieder Sonntags - bräuchte ich mal wieder Eure werte Hilfe :93:
Aus einer Datenquelle bekomme ich Datumswerte (siehe Spalte B) in dieser Form:
Tabelle7
A | B | C | |
431 | Stellen | Original | Formatiert |
432 | 7 | 6102019 | 6102019 |
433 | 7 | 9122019 | 9122019 |
434 | 7 | 1152019 | 11.05.2019 |
435 | 7 | 3172019 | 31.07.2019 |
436 | 6 | 282019 | 02.08.2019 |
437 | 8 | 22081981 | 22.08.1981 |
438 | 8 | 23102019 | 23.10.2019 |
439 | 8 | 29102019 | 29.10.2019 |
440 | 8 | 12112019 | 12.11.2019 |
441 | 8 | 13112019 | 13.11.2019 |
442 | 8 | 24112019 | 24.11.2019 |
443 | 8 | 14122019 | 14.12.2019 |
444 | 6 | 652019 | 06.05.2019 |
445 | 6 | 112019 | 01.01.2019 |
446 | 6 | 122019 | 01.02.2019 |
447 | 6 | 112019 | 01.01.2019 |
448 | 6 | 112019 | 01.01.2019 |
449 | 6 | 112019 | 01.01.2019 |
http://excel-inn.de/dateien/vba_beispiel..._addin.zip |
http://Hajo-Excel.de/tools.htm |
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 |
Add-In-Version 21.08 einschl. 64 Bit |
In Spalte A sind die Anzahl der Stellen, in Spalte B die Original-Daten und in Spalte C die formatierten Werte.
Wie man sieht werden die ersten beiden 7-stelligen Werte nicht richtig formatiert - weil da der Monat > 9 ist.
Wie müsste das folgende Makro ergänzt/abgeändert werden um diese Fälle auch zu erfassen? Es kommt eine Fehlermeldung "Datentypen unverträglich"
Code:
Sub Datum_Umwandeln()
'Datum umwandeln von 010205 in 01.02.05
Dim Z As Range
For Each Z In Selection
If (Len(Z) = 8 Or Len(Z) = 7 Or Len(Z) = 6) And IsNumeric(Z) Then
If Len(Z) = 8 Then
Z = CDate(Mid(Z, 1, 2) & "." & Mid(Z, 3, 2) & "." & Mid(Z, 5, 4))
ElseIf Len(Z) = 7 And IsNumeric(Z) Then
Z = CDate(Mid(Z, 1, 2) & "." & Mid(Z, 3, 1) & "." & Mid(Z, 4, 4))
Else
Z = CDate(Mid(Z, 1, 1) & "." & Mid(Z, 2, 1) & "." & Mid(Z, 3, 4))
End If
End If
Next Z
End Sub
Vielleicht habt Ihr mir einen Tipp wie das Makro geändert werden müsste?