Benötige Excel-Makro, um zu erkennen, dass das Leerzeichen für Stunde (Zeit) „00“ sein sollte

Benötige Excel-Makro, um zu erkennen, dass das Leerzeichen für Stunde (Zeit) „00“ sein sollte

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:

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

verwandte Informationen