für der Eingabe in das Formular UserForm2 (Kombi aus FlatScrollBar und TextBox sind Minimal- und Maximalwerte festgelegt. Gibt man einen Wert außerhalb der Skala an, erscheint eine MessageBox mit dem entsprechenden Hinweis. Klickt man OK, landet man NICHT wieder im Eingabefeld (txtNumber3 - TextBox), obwohl SetFocus gesetzt ist. Das gilt jedoch nur für die Eingabefelder 2 (txtNumber2 - TextBox) und 3 (txtNumber3 - TextBox). Mit dem 1. (txtNumber1 - TextBox) klappt's erstaunlicherweise. Der Rest funktioniert auch. Hier ist der Code:
Public Sub ShowMe()
Dim nmb As Variant
nmb = result
If nmb < 0 Or Not IsNumeric(nmb) Then nmb = 0
If nmb > 750 Then nmb = 750
txtNumber1 = nmb
scrSlider1 = nmb
If nmb < 0 Or Not IsNumeric(nmb) Then nmb = 0
If nmb > 15 Then nmb = 15
txtNumber2 = nmb
scrSlider2 = nmb
If nmb < 0 Or Not IsNumeric(nmb) Then nmb = 0
If nmb > 2000 Then nmb = 2000
txtNumber3 = nmb
scrSlider3 = nmb
Show
End Sub
Private Sub btnOK_Click()
Dim nmb As Variant
nmb = Val(txtNumber1)
If nmb < 0 Or nmb > 750 Or Not IsNumeric(txtNumber1) Then
MsgBox "Please insert a number between 1 and 750!"
txtNumber1 = 0
Else
result = nmb
Unload Me
End If
nmb = Val(txtNumber2)
If nmb < 0 Or nmb > 15 Or Not IsNumeric(txtNumber2) Then
MsgBox "Please insert a number between 1 and 15!"
txtNumber2 = 0
Else
result = nmb
Unload Me
End If
nmb = Val(txtNumber3)
If nmb < 0 Or nmb > 2000 Or Not IsNumeric(txtNumber3) Then
MsgBox "Please insert a number between 1 and 2000!"
txtNumber3 = 0
Else
result = nmb
Unload Me
End If
End Sub
...
Über Hilfe wäre ich sehr dankbar. Gruß, Moritz