Ich möchte eine Eingabe Nachricht Antwort auf eine Zelle anzeigen, die mit CDate formatiert ist (TT/MM/JJJJ). Warum zeigt der Code die Fehlermeldung nicht an, wenn die Eingabe als TT/MM/JJ erfolgte? Das Programm akzeptiert es, aber die Ausgabe wird als JJ/MM/TT angezeigt.Datumsformat in VBA funktioniert nicht
unten ist der Code, den ich erstellt:
Sub inputSettlementDate()
Dim varInputDate As Variant
Dim lngERow As Long
varInputDate = InputBox("Please enter the Settlement Date using this format dd/mm/yyyy.", "Settlement Date")
If IsDate(varInputDate) Then
varInputDate = Format(CDate(varInputDate), "dd/mm/yyyy")
Else
MsgBox "Please enter a valid date format dd/mm/yyyy"
End If
If IsDate(varInputDate) Then
lngERow = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("B" & lngERow).Value = varInputDate
End If
End Sub
Hi ... Ich habe das Format auf Allgemein geändert, aber es ist immer noch dasselbe. Im Eingabefeld habe ich "24/3/16" anstelle von "24/3/2016" eingegeben. Ich dachte, es wird eine Fehlermeldung angezeigt, da das Format falsch ist. Ausgabe zeigt als "16/03/2024" .. – ArleneJ
OK, zuerst einmal, etwas, das ich vorher nicht beantwortet hatte. Wenn Sie dd/mm/yy eingeben, wird die Zeile IsDate (varInputDate) dies immer noch als gültiges Datum auswerten und in die reguläre Verarbeitung übergehen, ohne dass ein Fehler angezeigt wird. Versuchen Sie es mit einer normalen Zeichenfolge wie "Hallo Welt" und Sie erhalten den Fehler. Zweitens erkennt CDate Datumsformate entsprechend der Gebietsschemaeinstellung Ihres Systems. Versuchen Sie, das zu entfernen. –
es funktioniert! Es stellt sich heraus, dass nichts mit meinem Code falsch ist. Vielen Dank! – ArleneJ