Ist wahrscheinlich nicht die eleganteste Lösung, aber hier klappt es wunderbar:
Sub Test_auf_Datum()
If Len(TextBox1.Text) = 8 Then
If Mid$(TextBox1.Text, 3, 1) = "." And Mid$(TextBox1.Text, 6, 1) = "." Then
If IsNumeric(Left$(TextBox1.Text, 2)) And IsNumeric(Mid$(TextBox1.Text, 4, 2)) And IsNumeric(Mid$(TextBox1.Text, 7, 2)) Then
MsgBox "Datum ist ok !"
Else
GoTo Falsch
End If
Else
GoTo Falsch
End If
Else
Falsch:
MsgBox "Die Eingabe muß im Format TT.MM.JJ erfolgen !"
End If
End Sub
Erklärung:
Zuerst der Test, ob der String 8 Zeichen lang ist, dann der Test, ob an der Stelle 3 und 6 auch Punkte stehen, dann der Test, ob die Zeichen an der Stelle 1 und 2, 4 und 5, 7 und 8 auch Zahlen sind und das war es schon.
Gruß
Andreas