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

Forumthread: Datumsformat umwandeln

Datumsformat umwandeln
26.09.2005 14:02:25
Stefan
Hallo zusammen,
per InputBox habe ich einer Variable ein Datum im Format dd.mm.yyyy übergeben. Hat jemand eine Idee, wie ich dieses Datum per VBA in das Format m/d/yyyy umwandle (auch gern in einer zweiten Variable gespeichert).
Vielen Dank vorab & Grüße, Stefan
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat umwandeln
26.09.2005 14:22:33
gordon
Hallo Stefan,
b = Format(a, "dd""/""mm""/""yyyy")
Gruß
gordon
AW: Datumsformat umwandeln
26.09.2005 17:15:14
Stefan
Hallo Gordon,
ich hab die Formel etwas umgestellt, weil ich ja m/d/yyyy haben wollte:
Dim Datum1 As Date
Datum1 = Format(ReportDatum1, "m""/""d""/""yyyy")
Trotzdem ist das Format danach nur mm.dd.yyyy, d. h. einstellig machen und Schrägstriche hat nicht geklappt.
Ich vesteh leider auch nicht, warum...
Danke & Grüße, Stefan
Anzeige
AW: Datumsformat umwandeln
26.09.2005 17:22:48
gordon
Hi Stefan,
das geht so auch nicht.
Du kannst Deiner Variablen vom Typ Date nur ein gemäß den jeweiligen Systemeinstellungen gültiges Datum zuweisen.
Bei deutschem Excel wird halt der Standardtrenner "." verwendet.
Entweder auf englisch umstellen oder, und das sollte reichen, Datum1 als String dimensionieren.
Brauchst Du dann doch daraus wieder ein Datum, mit CDate(Datum1) arbeiten.
Vielleicht schreibst Du falls es jetzt noch nicht genügt mal, warum der Wert so aussehen muss bzw. was Du eigentlich bezwecken willst. Vielleicht geht das dann auch anders ;-)
Gruß
gordon
Gruß
gordon
Anzeige
AW: Datumsformat umwandeln
26.09.2005 17:32:44
Stefan
Hallo Gordon,
vielen Dank!
Okay, dann lag es an der Dimensionierung als Date. Wieder was dazugelernt... ;-)
Hintergrund der ganzen Geschichte ist übrigens, dass ich das Datum als Kriterium für AutoFilter benutzen will:
With Range("A1")
.AutoFilter Field:=23, Criteria1:=">=" & ReportDatum1, Operator:=xlAnd _
, Criteria2:=" .CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
End With
Und hierbei verhält sich Excel ganz störrisch und erlaubt nur das amerikanische Datumsformat.
Danke nochmal & Grüße, Stefan
Anzeige
AW: Datumsformat umwandeln
26.09.2005 17:32:49
Stefan
Hallo Gordon,
vielen Dank!
Okay, dann lag es an der Dimensionierung als Date. Wieder was dazugelernt... ;-)
Hintergrund der ganzen Geschichte ist übrigens, dass ich das Datum als Kriterium für AutoFilter benutzen will:
With Range("A1")
.AutoFilter Field:=23, Criteria1:=">=" & ReportDatum1, Operator:=xlAnd _
, Criteria2:=" .CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
End With
Und hierbei verhält sich Excel ganz störrisch und erlaubt nur das amerikanische Datumsformat.
Danke nochmal & Grüße, Stefan
Anzeige
AW: Datumsformat umwandeln
26.09.2005 14:26:25
WernerB.
Hallo Stefan,
wie gefällt Dir das?

Sub Stefan()
Dim d1 As String, d2 As String
d1 = InputBox("Datum eingeben:", "Datum", Date)
d2 = Format(d1, "m\/d\/yyyy")
MsgBox "Neues Datum: " & d2
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Datumsformat umwandeln
26.09.2005 17:20:24
Stefan
Hallo Werner,
vielen Dank!!! Diese Lösung klappt!
Auf die Idee mit den Backslashes wäre ich niemals gekommen... Kannst Du mir sagen, ob das irgendwo dokumentiert ist (Excel-Hilfe o. ä.)?
Grüße, Stefan
AW: Datumsformat umwandeln
26.09.2005 17:24:58
gordon
Hi Stefan,
hab's gerade gesehen( s. auch andere Erklärung). Das klappt nicht nur wegen der Backslashes ( Escapezeichen, wie auch DoppelAnführungszeichen) sondern primär wegen der Dimensionierung von d2 als String.
Gruß
gordon
Anzeige
AW: Datumsformat umwandeln
27.09.2005 07:12:58
WernerB.
Hallo Stefan,
ob und ggf. wo das dokumentiert ist, weiß ich leider nicht.
Es ist schlicht das Ergebnis der Aufzeichnung per Makrorecorder.
Gruß
WernerB.
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datumsformat in Excel umwandeln


Schritt-für-Schritt-Anleitung

Um ein Datum in Excel von einem Format, wie dd.mm.yyyy, in das amerikanische Format m/d/yyyy umzuwandeln, kannst du die folgende VBA-Lösung verwenden:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf VBAProject (dein_dateiname), dann Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub DatumUmwandeln()
    Dim d1 As String, d2 As String
    d1 = InputBox("Datum eingeben:", "Datum", Date)
    d2 = Format(d1, "m/d/yyyy")
    MsgBox "Neues Datum: " & d2
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um das Datum zu konvertieren.

Diese Methode verwendet die InputBox, um das Datum einzugeben, und die Format-Funktion, um das Datumsformat umzuwandeln.


Häufige Fehler und Lösungen

  • Problem: Nach der Umwandlung erscheint das Datum immer noch im Format mm.dd.yyyy.

    • Lösung: Stelle sicher, dass du die Variable d2 als String dimensionierst. Das Format muss exakt "m/d/yyyy" sein, um die amerikanische Datumsformatierung zu erhalten.
  • Problem: Excel akzeptiert das Datum nicht beim Filtern.

    • Lösung: Excel benötigt oft das amerikanische Datumsformat, um mit AutoFilter zu arbeiten. Verwende die Format-Funktion wie oben beschrieben.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die folgenden Excel-Formeln nutzen:

  1. Um ein Datum von dd.mm.yyyy nach mm/dd/yyyy umzuwandeln:

    =TEXT(DATUM(JAHR(A1);MONAT(A1);TAG(A1));"m/d/yyyy")
  2. Für die Umwandlung von deutschem in amerikanisches Datumsformat:

    =TEXT(A1;"mm/dd/yyyy")

Diese Formeln können direkt in eine Zelle eingegeben werden, wobei A1 die Zelle mit dem ursprünglichen Datum ist.


Praktische Beispiele

Beispiel 1: Umwandlung eines Datums per VBA

Nehmen wir an, du hast das Datum 15.10.2023 eingegeben. Mit dem VBA-Code oben erhältst du die Ausgabe:

Neues Datum: 10/15/2023

Beispiel 2: Umwandlung mit Excel-Formel

Wenn du das Datum in Zelle A1 hast, gibt die Formel =TEXT(A1;"mm/dd/yyyy") das Ergebnis:

10/15/2023

Tipps für Profis

  • Verwende die CDate-Funktion, um sicherzustellen, dass deine Strings korrekt in Datumswerte umgewandelt werden, falls du sie wieder als Datum verwenden möchtest.

  • Achte auf die Systemeinstellungen deines Excel-Programms. Das Datumsformat kann je nach Region unterschiedlich sein und beeinflusst die Eingabe und Ausgabe von Datumswerten.

  • Teste deine VBA-Skripte immer mit verschiedenen Datumsformaten, um sicherzustellen, dass sie robust sind und in unterschiedlichen Umgebung funktionieren.


FAQ: Häufige Fragen

1. Wie kann ich ein amerikanisches Datum in ein deutsches Format umwandeln? Du kannst die Format-Funktion in VBA verwenden, um das Datum in das deutsche Format umzuwandeln, z.B. Format(d1, "dd.mm.yyyy").

2. Was sind die Unterschiede zwischen den Datumsformaten in Excel? Die Unterschiede liegen hauptsächlich in der Darstellung des Datums. In Deutschland wird oft das Format dd.mm.yyyy verwendet, während in den USA mm/dd/yyyy üblich ist. Excel behandelt diese Formate unterschiedlich, was beim Filtern und in Formeln zu Problemen führen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige