Kann mir jemand die Funktion DATWERT() in VBA übersetzen. Wenn ich sie mit dem Recorder aufzeichne bekomme ich nur "FormulaR1C1 = "=DATEVALUE". Gibt es noch einen anderen Formel?
Vielen Dank
Gruss Marcel
Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" und wähle "Einfügen" > "Modul".
Schreibe den Code: Um die Funktion DATWERT() zu nutzen, kannst du den folgenden Code verwenden:
Function Datwert(datum As String) As Date
Datwert = CDate(datum)
End Function
Speichere deinen Code: Klicke auf "Datei" und dann auf "Speichern", bevor du den Editor schließt.
Verwende die Funktion in Excel: Du kannst die Funktion nun in deinen Excel-Zellen verwenden, z.B. =Datwert("01.01.2023").
Fehler: "#WERT!" in der Zelle
Lösung: Stelle sicher, dass das Datum im richtigen Format vorliegt. Die Funktion CDate() erwartet ein Datum in einem anerkannten Format.
Problem mit Regionalen Einstellungen
Lösung: Achte darauf, dass die Datumseinstellungen deines Systems mit dem Format übereinstimmen, das du in der Funktion verwendest.
Falls du eine andere Methode zur Umwandlung von Datumswerten in VBA bevorzugst, kannst du auch die DateSerial-Funktion verwenden. Hier ein Beispiel:
Function DatwertAlternative(tag As Integer, monat As Integer, jahr As Integer) As Date
DatwertAlternative = DateSerial(jahr, monat, tag)
End Function
Diese Methode erlaubt dir, das Datum direkt durch die Angabe von Tag, Monat und Jahr zu erstellen.
Einfaches Datum umwandeln:
Sub Beispiel()
Dim meinDatum As Date
meinDatum = Datwert("15.08.2023")
MsgBox "Das umgewandelte Datum ist: " & meinDatum
End Sub
Verwendung in einer Schleife:
Sub DatumsSchleife()
Dim i As Integer
For i = 1 To 5
Cells(i, 1).Value = Datwert("01.0" & i & ".2023")
Next i
End Sub
Fehlerbehandlung hinzufügen: Implementiere eine Fehlerbehandlung in deiner Funktion, um unerwartete Eingaben abzufangen.
Function DatwertMitFehlerbehandlung(datum As String) As Variant
On Error GoTo Fehler
DatwertMitFehlerbehandlung = CDate(datum)
Exit Function
Fehler:
DatwertMitFehlerbehandlung = "Ungültiges Datum"
End Function
Verwendung von benutzerdefinierten Formaten: Du kannst das Format des zurückgegebenen Datums anpassen, indem du die Format-Funktion in VBA nutzt.
1. Frage
Warum funktioniert die DATWERT()-Funktion manchmal nicht?
Antwort: Die Funktion erwartet ein Datum im richtigen Format. Achte darauf, dass dein Eingabewert korrekt formatiert ist.
2. Frage
Kann ich die DATWERT()-Funktion auch für Zeitangaben verwenden?
Antwort: Die DATWERT()-Funktion in VBA ist nur für Datumsangaben gedacht. Für Zeitangaben solltest du die Funktion TimeValue() verwenden.