hittnau
Aktives Mitglied
Hallo Forum
Ich habe in einer Userform eine Textbox, die ich beim Verlassen (Exit) auf eine numerische Eingabe überprüfen möchte.
Ich habe dazu folgenden Code geschrieben:
Private Sub txtZlgBetrag_01_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(txtZlgBetrag_01.Value) Then
MsgBox "Sie müssen einen Betrag eingeben!", vbExclamation, "Betrag fehlt"
txtZlgBetrag_01.SelStart = 0
txtZlgBetrag_01.SelLength = Len(txtZlgBetrag_01)
Cancel = True
End If
End Sub
Die Fehlermeldung (MsgBox) erscheint zwar bei fehlerhafter Eingabe, aber der Focus bleibt nicht in der Textbox!
Wenn ich den gleichen Code ohne Msgbox laufen lasse, funktioniert es aber einwandfrei.
Der Focus bleibt dann im Feld und der Inhalt wird wie gewünscht markiert.
Warum geht das nicht mit der MessageBox?
Vielen Dank im voraus.
Urs
Ich habe in einer Userform eine Textbox, die ich beim Verlassen (Exit) auf eine numerische Eingabe überprüfen möchte.
Ich habe dazu folgenden Code geschrieben:
Private Sub txtZlgBetrag_01_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(txtZlgBetrag_01.Value) Then
MsgBox "Sie müssen einen Betrag eingeben!", vbExclamation, "Betrag fehlt"
txtZlgBetrag_01.SelStart = 0
txtZlgBetrag_01.SelLength = Len(txtZlgBetrag_01)
Cancel = True
End If
End Sub
Die Fehlermeldung (MsgBox) erscheint zwar bei fehlerhafter Eingabe, aber der Focus bleibt nicht in der Textbox!
Wenn ich den gleichen Code ohne Msgbox laufen lasse, funktioniert es aber einwandfrei.
Der Focus bleibt dann im Feld und der Inhalt wird wie gewünscht markiert.
Warum geht das nicht mit der MessageBox?
Vielen Dank im voraus.
Urs