Ich habe mir ein Skript zurecht "gebastelt", welches überprüft ob in der TextBoxBilderAnzahl ein Zahlenwert eingegeben wurde und diesen auf 2 Zahlen begrenzt.
Wenn diese Bedingungen nicht erfüllt werden, dann erscheint jeweils eine MsgBox mit einem jeweiligen Hinweis und der Focus wird wieder auf die TextBoxBilderAnzahl gesetzt.
Mein Problem: Es wird nur ein einmaliger Durchlauf geprüft. Wenn ich die MsgBoxen ein zweites mal via OK wegklicke, dann wird der Inhalt nicht mehr geprüft.
...und dann werden auch Eingaben wie "wx" oder "xy" zugelassen. UND DAS WILL ICH NICHT!
Hier mein Skript. Was mache ich falsch?!
Private Sub TextBoxBilderAnzahl_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
With TextBoxBilderAnzahl 'Überprüft die TextBoxBilderAnzahl
If .Text = "" Then Exit Sub
If IsNumeric(.Text) Then
.Text = Format(CDbl(.Text), "#0") ' "#0" wenn nur ganze Zahlen
Else
MsgBox "Hier können Sie nur Zahlen eingeben!!", 64, "Röntgenbilder Anzahl"
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
Exit Sub
End If
If TextBoxBilderAnzahl.TextLength > 2 Then 'Begrenzt die Anzahl der Zeichen in der _
TextBoxBilderAnzahl auf 2 Zeichen
MsgBox "Die Eingabe der Bilderanzahl ist auf 2 Zeichen begrenzt!", 64, " _
Zeichenbegrenzung"
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
Exit Sub
End If
End With
End Sub
Wäre das eine sogenannte "Schleife" einzurichten?
Viele Grüße aus dem hohen Norden!
Lenhard