Ich importiere Daten aus einer Textdatei und verwende ein Makro zum Formatieren in Excel. Es erkennt und formatiert die Zeit (hh:mm:ss) – außer wenn es z. B. 00:15:27 ist – die Daten lassen die Nullen für hh vollständig weg und mein Makro erkennt dann mm:ss als hh:mm. Ich verfolge die Daten 24 Stunden lang – wenn es also Mitternacht ist, verliere ich die Stunde in den Daten und habe möglicherweise eine komische Stunde von z. B. 53:02:00, oder ich könnte 10:43:00 haben – weil ich denke, es ist 10 Uhr und nicht 00:10:43.
Gibt es eine Möglichkeit, das Makro dazu zu bringen, zu erkennen, dass dort etwas sein sollte, und es in OO zu ändern?
Danke.
Antwort1
Angenommen, wir habenTextWerte inA1durchA10wie:
und wir möchten, dass alle 5-stelligen Daten so behandelt werden, als ob sie00:vor ihnen. Wir können die Länge testen:
Sub MakeTime()
Dim r As Range, v As String
For Each r In Range("A1:A10")
v = r.Text
If Len(v) = 5 Then v = "00:" & v
r.Value = TimeValue(v)
Next r
End Sub
Das Ergebnis: