Hallo zusammen,
das ist meine Vorläufige Lösung!
Sub DatumUhrzeittrennen()
Sheets("Temperatur H57").Activate
'überträgt die Uhrzeit in das die Spalte Uhrzeit
'aber des mit Array geht deutlich schneller aber weiß nicht wie man es für die Uhrzeit anpasst
Sheets("Temperatur H57").Activate
Range(Cells(2, 2), Cells(ActiveSheet.Range("B999999").End(xlUp).Row, 2)).Select
For Each Zelle In Selection
Range(Zelle.Address).Offset(0, 0) = Zelle.Value - Int(Zelle.Value)
Range(Zelle.Address).Offset(0, 0).NumberFormat = "hh:mm"
Next Zelle
'löscht die Uhrzeitwerte aus der Spalte Datum Heraus
Range(Cells(2, 1), Cells(ActiveSheet.Range("B999999").End(xlUp).Row, 1)).TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
ConsecutiveDelimiter:=True, Space:=True, FieldInfo _
:=Array(Array(0, 1), Array(1, 9), Array(2, 9))
Range(Cells(2, 1), Cells(ActiveSheet.Range("A999999").End(xlUp).Row, 1)).NumberFormat = "DD.MM.YYYY"
End Sub
Frunktioniert alles soweit.
Das Formatieren der einzelnen Zellen für die Uhrzeit dauert zwar etwas aber es funktioniert.
Schneller geht es wie es beim Datum gemacht wurde, mit Spalten trennen, aber ich weiß leider nicht wie man den Code von Datum auf Uhrzeit überträgt.
Ich hab bis jetzt noch nie mit Array´s gearbeitet und kann den Code leider nicht dementsprechend anpassen.
Grundlegende Problem beim Text in Spalten ist, dass excel des ganze auf Deutsch aufnimmt VBA aber alles in Englisch macht und somit immer ein AM und PM an die Zeit oder Datum dran gefügt wird.
Der untere Teil des Makros schafft es aber es so zu formatieren, dass es nicht passiert. Verstehen tu ich Ihn aber trotzdem nicht ganz ;-).
Gruß
Chris
|