Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Beim Verlassen einer Textbox Inhalt prüfen
03.08.2019 10:00:11
Urs
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beim Verlassen einer Textbox Inhalt prüfen
03.08.2019 10:09:11
Hajo_Zi
Hallo Urs,
warum nicht gleich die Eingabe prüfen?
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Ansatz VB 6 Buch von Peter Monadjemi
'   nur Zahlen und ein Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
End Select
end Sub

Das ist Live, ich baue keine Datei nach.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Beim Verlassen einer Textbox Inhalt prüfen
03.08.2019 11:14:43
Luschi
Hallo Hajo,
wenn Du das Komma schon überprüfen willst, dann so:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   nur Ziffern und ein Komma
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(",")
If InStr(1, Me.TextBox1.Text, ",", vbTextCompare) > 0 Then KeyAscii = 0
Case Else
KeyAscii = 0
End Select
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Beim Verlassen einer Textbox Inhalt prüfen
03.08.2019 10:15:31
onur
Keine Ahnung, was dein restlicher Code noch Alles macht.
Der Code läuft einwandfrei.
AW: Beim Verlassen einer Textbox Inhalt prüfen
03.08.2019 12:43:07
Urs
Vielen Dank Hajo und Luschi
Das ist super!
Urs

40 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige