Ich habe mir eine Userform in Excel geschrieben. Diese enhält als Controls mehrere Textfelder und CommandButtons.
Eines der Textfelder ist mit einer Validierung ausgestattet, d.h. der Benutzer soll nur dann ein anderes Control wählen dürfen, wenn die Eingabe OK ist.
Mein Ansatz, nach negativer Prüfung den Focus wieder auf das Textfeld zu setzen, mißlingt.
Hier ein Auszug aus dem Code:
Private Sub sleProdukt_change()
Dim cPrd As String
Dim c
Dim lFound As Boolean
cPrd = Me.sleProdukt.Text
If cPrd > "" Then
With Range("a3:a1000")
Set c = .Find(cPrd, LookIn:=xlValues, lookat:=xlWhole)
lFound = Not c Is Nothing
Set c = Nothing
End With
If lFound Then
MsgBox "Das Produkt " + cPrd + " ist bereits definiert!" + vbCrLf + vbCrLf + "Bitte geben Sie einen gültigen Produktnamen ein!", vbCritical + vbOKOnly, "Fehler"
Me.sleProdukt.SetFocus
End If
Else
MsgBox "Ungültige Eingabe!", vbOKOnly, "Fehler"
Me.sleProdukt.SetFocus
End If
End Sub
Kennt jemand dieses Problem und kann mir helfen?
Gibt es neben den Ereignissen Change, Click, BeforeUpdate und AfterUpdate weitere für das Control?
Gibt es für das Formular neben Show, Initialize weitere (unter Access gibt es zB Current, welches bei jedem Focuswechsel durchlaufen wird!)?
Dank im voraus :-))
Andreas