2016-05-09 11 views
0

Anzeige danken Ihnen für die Zeit nehmen meine Anfrage zu überprüfen.Excel 2013 64bit - VBA Userform Datumsformat Ausgabe Notwendigkeit tt/mm/jjjj, aber nicht richtig

I 4 Datum haben Kalender in meiner Userform Kommissionierung und obwohl das Format zu tt/mm/jjjj eingestellt ist, ist es nicht dieses Format in dem Textfeld angezeigt wird, zeigt es als US-mm/tt /. Die Datumsauswahl/Kalender ich verwendet habe, ist von der Microsoft-Website Trevor Eyre's date picker Mein Betriebssystem (Win 8.1) ist Setup mit Systemdatum, dd/mm/yyyy und den Spalten in der spreasheet (wo die Daten aus dem Formular gespeichert sind) werden auch als TT/MM/JJJJ formatiert.

Ich weiß nicht, ob ich verwirrt VBA haben, und deshalb bin ich nicht bekommen, was ich erwarte.

Der folgende Code sind alle von der Userform Sub-Routine, die alle im Zusammenhang mit Datum Textfeldern. Vielleicht der Lage sein, jemand das Problem sofort sehen kann .. also hier die Unterroutinen sind, die Termine und ihr Format beziehen:

Userform Code:

Private Sub Calendar1_Click() 
ADD_Inc_DATE_TXT.value = CalendarForm.GetDate 
If IsDate(ADD_Inc_DATE_TXT.Text) Then 
Me.LBL_Inc_Day_Type.Caption = Format(ADD_Inc_DATE_TXT.Text, "ddd") 

End If 
If IsDate(ADD_Inc_DATE_TXT.Text) Then 
Me.ADD_Inc_DATE_TXT.Text = Format(ADD_Inc_DATE_TXT.Text, "dd/mm/yyyy") 
End If 
End Sub 

Private Sub Calendar2_Click() 
TXT_AssetMgr_DATE = CalendarForm.GetDate 
    If IsDate(ADD_Inc_DATE_TXT.Text) Then 
    Me.TXT_AssetMgr_DATE.Text = Format(TXT_AssetMgr_DATE.Text, "dd/mm/yyyy") 
End If 
End Sub 


Private Sub Calendar3_Click() 
TXT_LastUserDATE = CalendarForm.GetDate 
If IsDate(ADD_Inc_DATE_TXT.Text) Then 
Me.TXT_LastUserDATE.Text = Format(TXT_LastUserDATE.Text, "dd/mm/yyyy") 
End If 
End Sub 

Private Sub Calendar4_Click() 
    ADD_Date_ServiceJobLogged_TXT = CalendarForm.GetDate 
    If IsDate(ADD_Inc_DATE_TXT.Text) Then 
    Me.ADD_Date_ServiceJobLogged_TXT.Text = Format(ADD_Date_ServiceJobLogged_TXT.Text, "dd/mm/yyyy") 
End If 
End Sub 

Alle Codes sind von der Trevor Eyre's date picker download Website. Ich habe versucht, den Anweisungen zu folgen.

Ich habe den Code nicht außer zu versuchen, um das Datumsformat zu ändern geändert.

Die auf dem Etikett zugehörigen Code für den eigentlichen Text Tag Anzeige, die auf die Codierung von Kalender 1 (Ich will es nicht für die anderen Kalender) hinzugefügt. Me.LBL_Inc_Day_Type.Caption = Format (ADD_Inc_DATE_TXT.Text "ddd") funktioniert gut. Der folgende Code ist vom Trevor Eyres sich im Kalender Userform Modul

Sub BasicCalendar() 
     dateVariable = CalendarForm.GetDate 
      If dateVariable <> 0 Then Range("H16") = dateVariable 
    End Sub 

Ich hoffe, ich havent verwirrt Sie zu viel ...

ich wirklich hoffe, jemand helfen .. kann ich gewesen kämpfte mit ihm für die letzten 4 Monate und war nicht in der Lage, das Format in TT/MM/JJJJ zu beheben.

Ich würde es sehr schätzen. TheShyButterfly

Vielen Dank im Voraus. Prost, TheShyButterly.

Antwort

0

Sie können geben Sie das Datum als String und dann analysieren Sie selbst:

Sub INeedADate() 
    Dim s As String, d As Date, outpt As String 

    s = Application.InputBox(Prompt:="Please enter a date as dd/mm/yyyy", Type:=2) 
    arr = Split(s, "/") 
    d = DateSerial(arr(2), arr(1), arr(0)) 
    outpt = Format(d, "dd/mm/yyyy") 
    MsgBox d & vbCrLf & outpt 
End Sub 

enter image description here

und die Ausgabe:

enter image description here

Wie Sie sehen, die Spitze Die MsgBox zeigt das Datum in meinem (US) Format und die niedrigere Teil der MsgBox zeigt das Datum als eine korrekt formatierte Zeichenfolge.

Verwandte Themen