Textfeld-Eingabe in Zeitformat konvertieren?
31.08.2003 09:51:12
HeinerB
in einer UserForm soll das Textfeld "Std" automatisch in das Format ##0:00 konvertiert werden, wenn das Feld per TAB-Taste verlassen wird, oder (und jetzt kommt das Problem) wenn das Feld nach der Eingabe nicht mit der TAB-Taste verlassen wird, sondern direkt der CommandButton1 gedrückt wird!
In dem Fall erscheint in dem Textfeld "Std" nach erneutem Aufruf ein ganz anderer Wert als eingegeben.
Beispiel:
Eingabe in Textfeld "Std" 12330, Feld per TAB-Taste verlassen und Klick auf CommandButton1.
Nach erneutem Aufruf der UserForm erscheint richtigerweise 123:30 in dem Textfeld.
Eingabe in Textfeld "Std" 12330, Feld nicht per TAB-Taste verlassen, sondern sofort Klick auf CommandButton1.
Nach erneutem Aufruf der UserForm erscheint 592920:00 in dem Textfeld!
Wo liegt der Fehler in folgendem Code?
Private Sub Std_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9]" Then Call ZahlErlaubt: KeyAscii = 0
End Sub
Private Sub Std_AfterUpdate()
Std = Format(Std, "##0:00")
End Sub
Private Sub CommandButton1_Click()
With ANGABEN_ANFANGSWERTE
If .Std.Value = "" Then Call FehltWas: .Std.SetFocus: Exit Sub
Range("Tabelle!A1") = UserForm1.[Std].Text
End With
End Sub
Wer kann helfen und den Code evtl. modifizieren?
Danke und Gruss, HeinerB