SetFocus
20.07.2004 16:00:57
Sergej
ich habe folgendes Problem:
ich habe eine UserForm mit zwei Frames, in dennen TextBoxes positioniert sind, und zwei CommandButtons "OK" und "Cancel" außerhalbs der Frames.
ich habe die TextBoxes so programmiert,das sie erst auf richtig eigegebenen Datum kontroliert werden. Wenn der Wert False ist sie sollen den Focus beibehalten, bis der Wert True ist. So weit Vorgeschichte...
Das alles funktioniert aber nur teilweise: wenn ich irgendein Objekt innerhalb der gleiche Frame anclicke funktioniert alles (sprich, der Focus bleibt auf dem TextBox), wenn ich aber ein Objekt in der anderen Frame oder die beiden CommandButtons anclicke bleibt der eingegebener Wert (was False ist) stehen und mit "OK" clicken die False-Werte werden dann in der anderen UserForm akzeptiert, was aber nicht sein darf!
Code ist:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim myDate1 As Date
If IsDate(Me.TextBox1) Then
myDate1 = Format(Me.TextBox1, "dd.mm.yyyy")
MsgBox myDate1
TextBox1.Value = myDate1
Else
Cancel = True
With TextBox1
'.SetFocus habe ich gezielt ausgelasen, damit bei Cancel'ln keine Fehlermeldung erscheint (nur wenn Wert False ist)
.SelStart = 0
.SelLength = Len(.Text)
End With
MsgBox "Kein gültiges Datum."
End If
End Sub
Ich hoffe auf EURE Hilfe