ich habe ein kleines Problem.
In einer UF habe ich eine Textbox mit Datum. Hier wird bei Eingabe der Wert wie folgt geprüft:
'gibt bei Wechsel Punkt nach Tag und Monat ein Begrenzung auf 10 Stellen für Datum
Private Sub TextBox2_Change()
If TextBox2 = "" = True Then Exit Sub
'Anfang Datum . Vorgabe und Begrenzung auf 10 Stellen
If TextBox2.Tag = "1" = True Then Exit Sub
If Len(TextBox2) = 2 Then
If InStr(TextBox2, ".") = 0 Then TextBox2 = TextBox2 & "."
ElseIf Len(TextBox2) = 5 Then
If Len(TextBox2) - Len(Application.Substitute(TextBox2, ".", ""))
'Function wird ausgeführt in Textbox7 und 8_BeforeUpdate
Function Check_Datum(Tb As MSForms.TextBox) As Boolean
If IsDate(Tb.Text) Then
Tb.Text = CDate(Tb.Text)
If Tb.Text Like "##.##.####" Then Exit Function
End If
MsgBox "Eingabe nicht korrekt!"
Check_Datum = True 'springt wieder ins Feld
Tb.SelStart = 0
Tb.SelLength = Len(Tb.Text)
End Function
Jetzt soll jedoch nach Eingabe dieses Wertes eine Prüfung durchgeführt werden. Derzeit habe ich hierfür folgenden Code:
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'Anfang Prüfung, ob Kontoart bereits vorhanden oder nicht - vorhanden eingegebene Datum bleibt - _
nicht vorhanden - Anfangdatum L2
Dim Wert As String
'Wert = "Girokonto"
Wert = Me.TextBox1.Value 'gewählte Kontoart
With Worksheets("Kontodaten") 'Blattname anpassen
If WorksheetFunction.CountIf(.Columns(2), Wert) > 0 Then
MsgBox "Wert ist vorhanden"
Exit Sub
Else
MsgBox "Wert nicht vorhanden."
Me.TextBox2.Value = CDate(Worksheets("Buchen_666 666 66").Range("L2").Value) 'gewä _
hltes Kontoblatt
End If
End With
'Ende Prüfung, ob Kontoart bereits vorhanden oder nicht - vorhanden eingegebene Datum bleibt - _
nicht vorhanden - Anfangdatum L2
End Sub
Ich suche jedoch nach einer Lösung, dass diese Prüfung nicht durch Ausführen von Tab oder Enter ausgeführt wird sondern wenn die Eingabe des Wertes erfolgt ist. Z. B. wenn die Länge des Wertes erreicht ist.
Besten Dank für eure Hilfe.
Gruss
Peter