Die folgende Funktion in einigen Situationen nützlich sein könnten. Es kann, wenn möglich, zwischen TT/MM/JJJJ und MM/TT/JJJJ unterscheiden und sagt Ihnen wann nicht. Es ist die Überprüfung kein Fehler so würde irreführende Ergebnisse geben, wenn die Zeichenfolge in einem dieser beiden Formate etwas anderes als ein gültiges Datum ist:
Function FormatUsed(dateString)
Dim parts, first, second
parts = Split(dateString, "/")
first = CInt(parts(0))
second = CInt(parts(1))
If first > 12 Then
FormatUsed = "dd/mm/yyyy"
ElseIf second > 12 Then
FormatUsed = "mm/dd/yyyy"
Else
FormatUsed = "??/??/yyyy"
End If
End Function
Sie keine Funktion gefunden haben, weil es unmöglich ist, das Datumsformat zu bestimmen, unter Verwendung von nur die Information "10/08/2015". Es kann beides sein. Für welches Problem muss das Datumsformat verwendet werden? – Comintern
Wenn Sie eine Reihe von Datumsstrings im gleichen Format haben, dann können Sie, wenn die Menge groß genug und ausreichend zufällig ist, mit hoher Wahrscheinlichkeit auf das verwendete Format schließen. Wenn Sie Variablen des Subtyps "Datum" haben, haben die Datumswerte selbst * kein * Format, da Format eine Eigenschaft von Zeichenfolgendarstellungen der Datumswerte im Gegensatz zu einer Eigenschaft der zugrunde liegenden Werte ist. Beachten Sie, dass Sie * überprüfen können, welches Format Windows verwendet, wenn es das Datum in der unteren Leiste des Bildschirms anzeigt. –
Sie können den Code auf [this] beziehen (http://www.mrexcel.com/forum/excel-questions/676540-visual-basic-applications-check-if-date-valid-certain-format-dd- mm-yyyy.html), um nach einem bestimmten Format zu suchen. Der Code dort überprüfen, ob irgendein Datum vom Format 'dd.mm.yyyy' ist, können Sie diese Logik verwenden, um nach anderem Format zu suchen. – newguy