ich brauche mal bitte Eure Hilfe.
Ich habe ein Userform zum befüllen einer Tabelle. Dort befinden sich TextBoxen und Comboboxen. _ Die Comboboxen werden automatisch befüllt. Eine TextBox ist für Datumseingabe vorgesehen. Für diese TextBox benutzen ich den folgenden Code
Private Sub txt_datum_Change()
Dim Txt$
Txt = txt_Datum.Text
If Txt = "" Then Exit Sub
If IsNumeric(Txt) = False Then GoTo ERRORHANDLER
If Len(Txt) = 6 Then
Txt = Left(Txt, 2) & "." & Mid(Txt, 3, 2) _
& "." & Right(Txt, 2)
If Not IsDate(Txt) Then
GoTo ERRORHANDLER
Else
txt_Datum.Text = Txt
Exit Sub
End If
If IsDate(txt_Datum.Text) Then
If Format(CDate(txt_Datum.Value), "dd.mm.yyyy") txt_Datum Then
'MsgBox "Das Datum wurde übersetzt"
End If
txt_Datum = Format(CDate(txt_Datum.Value), "dd.mm.yyyy")
Else
txt_Datum = ""
End If
ERRORHANDLER:
Beep
MsgBox "Bitte Datum prüfen !", vbCritical
txt_Datum.Value = ""
End If
End Sub
.Wenn ich alle TextBoxen und Comboboxen ausfülle und dann per Button in Tabellenblatt schreibe ist alles in Ordnung und das Datum wird richtig mit dd.mm.yyyy in die entsprechende Zelle geschrieben. Soweit so gut. Wird auch in nur einer TextBox oder Combox eine Veränderung vorgenommen (die Boxen werden erneut, noch beim geöffntem userform, angeklickt)wird beim übertragen des Datum die Zelle von Datum in Benutzerdefiniert umformatiert und als Inhalt wird 12:00:00 AM angezeitgt.
Ich bin ziehmlich ratlos wie ich diese Fehler beheben kann.
für Eure fachkundige Hilfe bin ich dankbar
Gruß Axel