HERBERS Excel-Forum - das Archiv
Text in Datum umwandel vba
Frank

Hallo,
ich habe den folgenden String:
Tue Dec 9 19:31:31 2003
aus dem ich das Datum als Datum extrahieren möchte.
Die einzelnen Teile, Tag, Monat und Jahr habe ich in Variabeln.
Tag enthält 9
Monat enthält Dec
Jahr enthält 2003
Wenn ich im Direktbereich "Datum3 = #9 dec 2003#" eingebe, wird der String in ein Datum umgewandelt.
Wie bekomme ich diese nun mit Variablen hin?.
Gruss Frank
AW: Text in Datum umwandel vba
Ramses

Hallo
probier mal DateSerial
Debug.Print DateSerial(Jahr,Monat,Tag)
Gruss Rainer
AW: Text in Datum umwandel vba
Frank

Hallo,
als Antwort erhalte ich "Laufzeitfehler 13, Typenunverträglichkeit.
:-(
Gruss Frank
AW: Text in Datum umwandel vba
Frank

Hallo,
ich antworte mir mal gleich selbst.
Wenn ich als Monat eine gültig Zahl einsetzte, funktionierts einwandfrei. Nur leider habe ich keine Zahl sondern die englischen Abkürzungen mit drei Buchstaben.
Hat noch jemand eine Idee?
PS Eine Umwandlung mittels Case kommt wirklich nur als Notlösung in Frage.
AW: Text in Datum umwandel vba
Ramses

Hallo
Dann musst du halt deine Buchstaben in Zahlen verwandeln :-)
Wenn du in Deutschland mit den englischen Bezeichnungen arbeitest, musst du diese in deutsche Monatsbezeichnungen umsetzen

Sub DemoDate()
Dim Tag As String, nTag As String
Dim Monat As String, nMonat As String
Dim Jahr As String, nJahr As String
Tag = "9"
Monat = "Dec"
Jahr = "2004"
MsgBox "Der korrekte Tag: " & Day(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
MsgBox "Der korrekte Monat: " & Month(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
MsgBox "Das korrekte Jahr: " & Year(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
End Sub


Function convert_Month(cMon As String) As String
Select Case UCase(cMon)
Case "MAR"
convert_Month = "März"
Exit Function
Case "MAY"
convert_Month = "Mai"
Exit Function
Case "JUN"
convert_Month = "Juni"
Exit Function
Case "OCT"
convert_Month = "Oktober"
Exit Function
Case "DEC"
convert_Month = "Dezember"
Exit Function
Case Else
convert_Month = cMon
End Select
End Function

Viel Spass
Gruss Rainer
AW: Text in Datum umwandel vba
Frank

Hallo,
Danke, wollte ich zwar nict so machen, aber funktioniert einwandfrei.
Gruß Frank
Wie lauten denn alle englischen Abkürzungen?
Boris

Grüße Boris
AW: Wie lauten denn alle englischen Abkürzungen?
Frank

Hallo,
die, die ich gefunden habe lauten
Feb
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Ich nehme an das die fehlenden Abkürzungen wie folgt lauten
Jan
Mar
Apr
Sind englische linux Abkürzungen.
Gruß Frank
Text in Datum umwandel vba
Frank

Hallo,
ich habe den folgenden String:
Tue Dec 9 19:31:31 2003
aus dem ich das Datum als Datum extrahieren möchte.
Die einzelnen Teile, Tag, Monat und Jahr habe ich in Variabeln.
Tag enthält 9
Monat enthält Dec
Jahr enthält 2003
Wenn ich im Direktbereich "Datum3 = #9 dec 2003#" eingebe, wird der String in ein Datum umgewandelt.
Wie bekomme ich diese nun mit Variablen hin?.
Gruss Frank
AW: Text in Datum umwandel vba
Ramses

Hallo
probier mal DateSerial
Debug.Print DateSerial(Jahr,Monat,Tag)
Gruss Rainer
AW: Text in Datum umwandel vba
Frank

Hallo,
als Antwort erhalte ich "Laufzeitfehler 13, Typenunverträglichkeit.
:-(
Gruss Frank
AW: Text in Datum umwandel vba
Frank

Hallo,
ich antworte mir mal gleich selbst.
Wenn ich als Monat eine gültig Zahl einsetzte, funktionierts einwandfrei. Nur leider habe ich keine Zahl sondern die englischen Abkürzungen mit drei Buchstaben.
Hat noch jemand eine Idee?
PS Eine Umwandlung mittels Case kommt wirklich nur als Notlösung in Frage.
AW: Text in Datum umwandel vba
Ramses

Hallo
Dann musst du halt deine Buchstaben in Zahlen verwandeln :-)
Wenn du in Deutschland mit den englischen Bezeichnungen arbeitest, musst du diese in deutsche Monatsbezeichnungen umsetzen

Sub DemoDate()
Dim Tag As String, nTag As String
Dim Monat As String, nMonat As String
Dim Jahr As String, nJahr As String
Tag = "9"
Monat = "Dec"
Jahr = "2004"
MsgBox "Der korrekte Tag: " & Day(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
MsgBox "Der korrekte Monat: " & Month(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
MsgBox "Das korrekte Jahr: " & Year(DateValue(Tag & "." & convert_Month(Monat) & "." & Jahr))
End Sub


Function convert_Month(cMon As String) As String
Select Case UCase(cMon)
Case "MAR"
convert_Month = "März"
Exit Function
Case "MAY"
convert_Month = "Mai"
Exit Function
Case "JUN"
convert_Month = "Juni"
Exit Function
Case "OCT"
convert_Month = "Oktober"
Exit Function
Case "DEC"
convert_Month = "Dezember"
Exit Function
Case Else
convert_Month = cMon
End Select
End Function

Viel Spass
Gruss Rainer
AW: Text in Datum umwandel vba
Frank

Hallo,
Danke, wollte ich zwar nict so machen, aber funktioniert einwandfrei.
Gruß Frank
Wie lauten denn alle englischen Abkürzungen?
Boris

Grüße Boris
AW: Wie lauten denn alle englischen Abkürzungen?
Frank

Hallo,
die, die ich gefunden habe lauten
Feb
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Ich nehme an das die fehlenden Abkürzungen wie folgt lauten
Jan
Mar
Apr
Sind englische linux Abkürzungen.
Gruß Frank
Bewerten Sie hier bitte das Excel-Portal