Datum und Zeit in Excel VBA als Zahl umwandeln
Schritt-für-Schritt-Anleitung
Um ein Datum und eine Uhrzeit, die als Text in der Form 2019-11-12T14:52:31.2855366
vorliegen, in eine Zahl umzuwandeln, kannst Du die folgende VBA-Prozedur verwenden:
Sub Datum_Zeit()
Dim TT As String
Dim Arr, Datum As Date, Zeit As Date, Zehntel As Double
Dim Ges As Date
TT = "2019-11-12T14:52:31.2855366"
Arr = Split(TT, "T")
Datum = DateValue(Arr(0))
Arr = Split(Arr(1), ".")
Zeit = TimeValue(Arr(0))
Zehntel = CDbl("0," & Arr(1))
Ges = Datum + Zeit + Zehntel / 86400
'Darstellung
MsgBox Format(Ges, "DD.MM.YYYY hh:mm:ss")
End Sub
Diese Prozedur zerlegt den Text in Datum und Zeit, wandelt diese in die entsprechenden Werte um und zeigt das Ergebnis in einem MessageBox-Fenster an. Um den Text in eine Zahl umzuwandeln, kannst Du die Variable Ges
verwenden.
Häufige Fehler und Lösungen
-
Problem: Der Text wird nicht korrekt umgewandelt.
Lösung: Stelle sicher, dass Du das "T" durch ein Leerzeichen ersetzt, um den Text in ein bekanntes Datumsformat zu bringen.
-
Problem: Fehler bei der Nutzung von Kommas und Punkten in deutschen Excel-Versionen.
Lösung: Ersetze in Deinem Code den Punkt durch ein Komma, falls Du mit einer deutschen Excel-Version arbeitest.
Alternative Methoden
Falls Du die Umwandlung nicht über VBA durchführen möchtest, kannst Du auch die Excel-Funktion WERT
verwenden:
=WERT(WECHSELN(WECHSELN(A1; "."; ","); "T"; " "))
Diese Formel wandelt den Text in eine Zahl um, die Excel dann als Datum interpretieren kann. Hierbei ist es wichtig, dass der Text in der Zelle A1 steht.
Praktische Beispiele
Beispiel 1: Umwandlung eines Datums mit VBA
Wenn Du die oben angegebene Prozedur in einem Modul speicherst und ausführst, wird das Datum 2019-11-12T14:52:31.2855366
korrekt in eine Excel-Datumszahl umgewandelt.
Beispiel 2: Umwandlung eines Textes mit einer Excel-Formel
Wenn Du in Zelle A1 den Text 2019-11-12T14:52:31.2855366
hast, kannst Du die oben genannte Excel-Formel verwenden, um das Datum in eine Zahl umzuwandeln.
Tipps für Profis
- Nutze die VBA-Funktion
Format
, um das Datum in verschiedenen Formaten darzustellen.
- Experimentiere mit der Fehlerbehandlung in VBA, um sicherzustellen, dass Dein Makro auch bei fehlerhaften Eingaben stabil läuft.
- Wenn Du mit großen Datenmengen arbeitest, kannst Du die Performance verbessern, indem Du das
Application.ScreenUpdating
auf False
setzt, während das Makro läuft.
FAQ: Häufige Fragen
1. Wie kann ich ein Datum in Excel VBA in eine Zahl umwandeln?
Du kannst das Datum mithilfe der DateValue
- und TimeValue
-Funktionen in VBA umwandeln und das Ergebnis als Zahl speichern.
2. Was muss ich beachten, wenn ich mit deutschen Excel-Versionen arbeite?
Achte darauf, dass Du Punkte in Kommas umwandelst und die Formate korrekt anpasst, da sich die Datumsformate zwischen den Sprachversionen unterscheiden können.