In Datum . durch / ersetzen, kleines Problem
15.04.2019 09:05:21
Torsten
ich habe einen Code aus dem Netz, welcher mir in bestimmten Spalten in einem Datumsstring, der von SAP importiert wird, den Punkt durch einen Schraegstrich ersetzt fuer das UK Format.
Dann aendere ich das Format mit Text to Columns zum Datumsformat.
Das funktioniert auch soweit, ABER, wenn unter der Ueberschriftenzeile nur eine einzige Datenzeile vorhanden ist bekomme ich einen Laufzeitfehler "Type mismatch" in Zeile
ArrayDates = TargetRange.Value
Ab 2 Datenzeilen bekomme ich den Fehler nicht mehr.
Kann mir jemand helfen und mir sagen, wo der Fehler liegt?
Hier der komplette Code:
Dim TargetSheet As Worksheet
' Set the correct target sheet here:
Set TargetSheet = ThisWorkbook.Sheets("Expediting - Overdues")
Dim LastColRow As Long
' Store the absolute last row within a long variable for later use
LastColRow = TargetSheet.Cells(Rows.Count, 10).End(xlUp).Row
Dim TargetRange As Range
' Assumes your data starts in cell 2 (has a header row). Change the 2 as needed.
Set TargetRange = TargetSheet.Range("J2:J" & LastColRow)
Dim ArrayDates() As Variant
' Load all the dates into an array for modification
ArrayDates = TargetRange.Value
' Edit the format of the destination to be text based. This will prevent Excel from _
assuming format
' Note: This must be done after the values are put into the array, otherwise you could load _
values in the
' wrong format.
TargetRange.NumberFormat = "@"
Dim i As Long
' Loop through the array and properly format all of the data
For i = LBound(ArrayDates, 1) To UBound(ArrayDates, 1)
ArrayDates(i, 1) = Format(CStr(Replace(ArrayDates(i, 1), ".", "/")), "dd/mm/yyyy")
Next
' Output the modified data
TargetRange.Value = ArrayDates
TargetRange.Select
Selection.TextToColumns Destination:=Range("J2"), DataType:=xlFixedWidth, _
OtherChar:="/", FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True
Danke im Voraus fuer eure Hilfe.Gruss Torsten