Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: String in Datum umwandeln

String in Datum umwandeln
18.03.2008 12:57:00
non
hallo liebe forum mitglieder,
ich habe jetzt stundenlang nach einer lösung gesucht das aus einem string ein datum macht. ich exportiere aus sap eine datei. das datum hat bspw das format 20080228.
nun kann ich den string zerstückeln und ein datum daraus erzeugen.
code beispiel:
datum = right(string,2) & "." mid(string, 5 , 2) & "." & left(string, 4)
das mach ich auch zur zeit so.
gibt es nicht irgendein befehl wo ich exel direkt sagen kann das ist ein datum der das format YYYYMMDD hat:
etwa sowas: datum = format(string, "YYYYMMDD")
vielen dank im voraus für eure antworten.
gruß
non

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String in Datum umwandeln
18.03.2008 13:09:00
Rudi
Hallo,
Daten-Text in Spalten
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: String in Datum umwandeln
18.03.2008 13:35:00
Uwe
Hi non,
so wie Rudi es vorschlägt mache ich das auch immer, aber falls Du lieber eine Formel habe willst:
=DATUM(LINKS(D2;4);TEIL(D2;5;2);RECHTS(D2;2))
(Dein Versuch war also schon FAST richtig (:-)
Gruß
Uwe
(:o)

Anzeige
AW: String in Datum umwandeln
18.03.2008 14:09:00
non
hallo danke für eure antworten,
ich glaube ich hab meine frage nicht richtig formuliert. leider ist die gewünschte antwort nicht dabei.
das ich den string zerstückele in jahr, monat ud tag ist mir bekannt, dafür schreibe ich aber left, right und mid.
meine frage ist gibt es nicht ein einzigen befehl der jetzt aus dem string 20080228 mit einem einzigen befehl ein datum macht.
nochmal als beispiel:
dim datum as date
dim datumstring as string
datumstring= 20080228 oder Cell(1,1) ' wo auch immer der string steht
datum = DasIstEinDatum(datumstring, "YYYYMMDD")
ich suche den befehl für "DasIstEinDatum" wenn ich "Cdate" schreibe akzeptiert er es nicht da es nicht als datum erkannt wird.
hoffe mein frage ist einwenig deutlicher geworden.
vielen dank nochmals
gruß
non

Anzeige
AW: String in Datum umwandeln
18.03.2008 14:25:00
Mag
Hi,
so?:

Option Explicit
Sub ttt()
Dim strText As String
Dim datum As Date
strText = "20080228"
datum = DateSerial(Left$(strText, 4), Mid$(strText, 5, 2), Right$(strText, 2))
MsgBox datum
End Sub


Gruss

AW: String in Datum umwandeln
18.03.2008 14:26:56
Uwe
Hi,
falls nicht einem von den Profis hier im Forum noch was einfällt würde ich sagen die Antwort ist:
NEIN!
Gruß
Uwe
(:o)

Anzeige
schreibe in Zelle mit Formel umwandeln fertig.
18.03.2008 14:37:00
Matthias
Hallo
Userbild
Gruß Matthias

AW: String in Datum umwandeln
18.03.2008 14:32:00
Rudi
Hallo,
nein. Die Funktion müsstest du dir selbst schreiben, womit du nichts gewonnen hättest.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
Beispiel
18.03.2008 14:45:15
Matthias
Hallo
Userbild

Sub wandeln()
Dim strg As String
strg = Format(ActiveCell.Value, "0-00-00")
ActiveCell.Offset(1, 0) = strg
End Sub


Gruß Matthias

Anzeige
Danke
18.03.2008 15:27:00
non
vielen dank für die hohe beteiligung zu diesem beitrag,
anscheinent gibt es doch kein kompakten befehl.
ich kam auf diese frage da ich bei einer skript schulung für eine andere sprache ein befehl gab der mit raute endete date#(text, format) beispiel date#(20080228, "YYYYMMDD") durch diesen befehl erkennt das programm automatisch das es ein datum in diesem format ist und nicht ein string. hab ich mir gedacht das müsste es doch bei excel auch geben.
naja man kann nicht alles haben.
nochmals vielen dank.
gruß
non
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

String in Datum umwandeln in Excel


Schritt-für-Schritt-Anleitung

Um einen String in ein Datum in Excel umzuwandeln, kannst du die folgende VBA-Methode nutzen. Diese Methode ist besonders nützlich, wenn dein String im Format YYYYMMDD vorliegt.

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
  2. Klicke im Menü auf „Einfügen“ und wähle „Modul“.
  3. Füge den folgenden Code in das Modul ein:
Option Explicit

Sub StringInDatumUmwandeln()
    Dim strText As String
    Dim datum As Date
    strText = "20080228" ' Beispiel-String
    datum = DateSerial(Left$(strText, 4), Mid$(strText, 5, 2), Right$(strText, 2))
    MsgBox datum ' Zeigt das konvertierte Datum an
End Sub
  1. Führe das Skript aus, um den String in das Datum zu konvertieren.

Wenn du den Code anpassen möchtest, ersetze strText durch eine Zelle, die den String enthält, z.B. strText = Cells(1, 1).Value.


Häufige Fehler und Lösungen

  • Problem: Das Datum wird als String angezeigt.

    • Lösung: Stelle sicher, dass die Zelle, in der das Datum angezeigt wird, im Datumsformat formatiert ist. Du kannst dies unter „Zellen formatieren“ tun.
  • Problem: Fehler beim Ausführen des VBA-Codes.

    • Lösung: Überprüfe, ob du die Variablen korrekt deklariert hast und ob der String im richtigen Format vorliegt.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du auch die folgende Excel-Formel verwenden, um einen String in ein Datum umzuwandeln:

=DATUM(LINKS(A1;4);TEIL(A1;5;2);RECHTS(A1;2))

Hierbei ist A1 die Zelle, die den String enthält. Diese Formel zerlegt den String in Jahr, Monat und Tag und wandelt ihn in ein Datum um.


Praktische Beispiele

  1. Beispiel für die Verwendung von VBA:
Sub Beispiel()
    Dim datumString As String
    datumString = "20230315"
    Dim datum As Date
    datum = DateSerial(Left(datumString, 4), Mid(datumString, 5, 2), Right(datumString, 2))
    Cells(1, 2).Value = datum ' Ergebnis in Zelle B1
End Sub
  1. Excel-Formel Beispiel:

    Wenn du den String „20230315“ in Zelle A1 hast, kannst du die Formel in Zelle B1 eingeben:

=DATUM(LINKS(A1;4);TEIL(A1;5;2);RECHTS(A1;2))

Tipps für Profis

  • Nutze die Format-Funktion in VBA, um das Datum in verschiedenen Formaten darzustellen, z.B. Format(datum, "yyyy-mm-dd"), um es im ISO-Format anzuzeigen.
  • Wenn du regelmäßig Daten aus SAP importierst, überlege dir, ein Makro zu erstellen, das automatisch die Strings in Datumsformate umwandelt.

FAQ: Häufige Fragen

1. Wie kann ich ein Datum in einen String umwandeln?
Du kannst die Funktion Format verwenden. Beispiel: Format(datum, "YYYYMMDD").

2. Gibt es einen direkten Excel-Befehl zur Umwandlung von Strings in Daten?
Leider gibt es keinen speziellen Befehl dafür. Du musst entweder VBA verwenden oder die oben genannte Formel nutzen, um den String in ein Datum umzuwandeln.

3. Wie kann ich ein Datum im Format YYYY-MM-DD anzeigen?
Verwende die Formatierungsoptionen in Excel, um das Datum entsprechend darzustellen: Klicke mit der rechten Maustaste auf die Zelle, wähle „Zellen formatieren“ und wähle das gewünschte Datumsformat aus.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige