hab ein kleines Problem mit einer Textbox, in der nur ganze Zahlen bis 50 eingegeben werden dürfen.
In TextBox1_KeyPress überprüfe ich, ob z.B. ein Buchstabe eingegeben wird - diese Kontrolle haut auch hin.
In TextBox1_AfterUpdate will ich nun überprüfen, ob eine Zahl größer 50 eingegeben wurde, in diesem Fall soll der Inhalt der Textbox markiert werden, und dann überschrieben werden, sobald wieder eine Zifferntaste gedrückt wird. Das versuche ich mit folgendem Code:
Private Sub TextBox1_AfterUpdate()
With Me.TextBox1
If Not IsEmpty(Me.TextBox1) And Not .Value = "" Then
If Int(.Value) > 50 Then
MsgBox "Hier sind nur Zahlen bis 50 zulässig.", vbInformation
.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll
.SetFocus
End If
End If
End With
End Sub
Das Ganze funktioniert aber nicht: die MsgBox erscheint zwar, aber es wird kein Text in der Textbox ausgewählt, auch .SetFocus tut anscheinend nichts...
Bitte um Tipps - bin nach längerem googeln und Durchsuchen der VBA-Hilfe am Ende meiner Ideen...
Danke und liebe Grüße,
Jens