Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Format eines Datums ermitteln
06.02.2009 08:42:00
Arthur
Hallo zusammen.
Wer hat mir eine Idee wie man das Format eines gegebenen Datums ermitteln kann?
Folgendes Problem: Ich erhalte in einer Datei ein Datum als String. Das kann (je nach Konfiguration des Rechners) bspw. so '12.01.2009', so '12-Jan-2009' oder so '01/12/2009' oder ganz anders sein. In diese Datei muss ein anderes Datum, aber in selbigem Format, zurückgeschrieben werden. Das Zurückschreiben wäre leicht, wenn das Format bekannnt wäre (bspw. Format(Date, "DD.MM.YYYY")). Wie aber bekommt man ohne langes Parsen das Format heraus? Gibt es einen genialen Kniff um die Format-Funktion 'umzudrehen'?
Gruß
Arthur

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format eines Datums ermitteln
06.02.2009 08:57:23
Mathias
Hallo Arthur,
also ich habe es bisher nur mit dem Auslesen hinbekommen. Also das Datum von rechts beginnend über die Mitte nach links auslesen und untersuchen, was an 3. Stelle, 6.Stelle, usw. steht und dann die Erkenntnisse in dein Datumsformat umwandeln.
ungefähr so:

Sub TestDatum()
Dim strAufforderung As String
Dim strAntwort As String
Dim dDatum As Date
strAufforderung = "Bitte geben Sie ein Datum ohne Punkte z.B. '290908' ein"
strAntwort = InputBox(strAufforderung)
MsgBox ("Das Datum, welches eingegeben wurde: " & strAntwort & ", wurde in ein Datum wie  _
folgt: " _
& Left(strAntwort, 2) & "." & Mid(strAntwort, 3, 2) & "." & Right(strAntwort, 2) & " geändert! _
")
dDatum = Left(strAntwort, 2) & "." & Mid(strAntwort, 3, 2) & "." & Right(strAntwort, 2)
End Sub


Anzeige
AW: Format eines Datums ermitteln
06.02.2009 09:03:49
Tino
Hallo,
hier mal ein Beispiel.
Sub test()
Dim sFormat As String
Dim sDatum As String, NeuesDatum As String

sDatum = "12/12/2009"

If sDatum Like "?-?-?" Then
 sFormat = "dd-mmm-yyyy"
ElseIf sDatum Like "?.?.?" Then
 sFormat = "dd.mmm.yyyy"
ElseIf sDatum Like "?/?/?" Then
 sFormat = "dd\/mm\/yyyy"
End If

NeuesDatum = Format(Date, sFormat)

MsgBox NeuesDatum
End Sub


Gruß Tino

Anzeige
AW: Format eines Datums ermitteln
06.02.2009 09:17:00
Arthur
Hallo Tino.
That's it. Ist zwar nicht nur eine Zeile, aber vielfach besser als das, was ich sonst gemacht hätte. Besten Dank.
-Arthur
Dank auch an Mathias für die Antwort.
AW: Format eines Datums ermitteln
06.02.2009 11:08:27
Tino
Hallo,
verpacke diesen Code in eine Funktion, von der Du als Rückgabe das Format bekommst,
somit bleibt Dein Makro übersichtlicher.
Das Datum, dass am häufigsten vorkommt würde ich in der If ganz nach oben stellen,
danach dass zweithäufigste usw.…
Gruß Tino
AW: Format eines Datums ermitteln
06.02.2009 15:05:00
Mathias
Das ist es was ich suchte...danke Tino

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige