Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
"LostFocus" für Textbox auf Userform
Florian
Hallo!
Ich schlage mich mit folgendem Problem herum:
Ich möchte, dass beim Verlassen einer Textbox, die sich auf einer UserForm befindet, überprüft wird, ob die vom User eingegebenen Werte korrekt sind, wenn nicht soll eine Message-Box mit einer Fehlermeldung erscheinen.
Dabei habe ich bis jetzt folgende Ereignisse getestet - mit allen hatte ich meine probleme:
TextBox_Change(): ist zu "aggressiv", der User wird bereits während der Eingabe unterbrochen und nicht erst, wenn er die Box verläßt.
TextBox_Exit(): reagiert nur, wenn der User auf ein Element den Focus liegt, welches sich im gleichen Frame wie die Textbox befindet.
TextBox_BeforeUpdate(...): reagiert immer, allerdings erscheint meine Msgbox-Fehlermeldung 2 mal, wenn der Focus auf ein Element ausserhalb des Textbox-Frames gelegt wird.
TextBox_LostFocus(): gibt es auf UserForms anscheinend nicht.
Weiss jemand einen Rat bzw. ein passendes Ereignis mit dem ich mein Problem beheben kann.
Viele Grüsse,
Florian

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: "LostFocus" für Textbox auf Userform
soendi
probiers mal mit TextBox_AfterUpdate
gruss
soendi
AW: "LostFocus" für Textbox auf Userform
Florian
...TextBox_AfterUpdate () ist besser,danke,aber ich kann nicht verhindern (zb. mit TextBox.setfocus) dass die Textbox den Focus verliert, was unbedingt sein sollte.
Gruss,
Florian
AW: "LostFocus" für Textbox auf Userform
05.04.2004 19:44:38
soendi
also...

Sub TextBox1_AfterUpdate()
If TextBox1 = "" Then TextBox1.SetFocus
End Sub
()
wie wärs damit?
gruss
soendi
umgekehrt gedacht
soendi
hallo florian!
denk mal von hinten her und check nicht die AKTUELLE box.
du hast ein textbox_enter-ereignis, das du für das benutzen kannst:
a) wenn tb2_enter, dann wird gecheckt, ob tb1 = nix, wenn das der fall ist, gehts zurück nach tb1.
b) wenn tb1 = etwas und tb2 = nix, kannst du nicht nach tb3.
c) wenn du aber direkt tb3 fokussieren würdest, kann ja, da tb2 mit dem ersten makro unantastbar ist, nicht zurückfokussiert werden... --> würde buggen, die sache. deshalb das goto.
gruss
soendi
-------------------------------------------------

Private Sub TextBox2_Enter()
If TextBox1.Value = "" Then TextBox1.SetFocus
End Sub

-------------------------------------------------

Private Sub TextBox3_Enter()
If TextBox1.Value = "" Then GoTo TB1 Else GoTo TB2
TB1:
TextBox1.SetFocus
GoTo Ende
TB2:
If TextBox2.Value = "" Then TextBox2.SetFocus
Ende:
End Sub

-------------------------------------------------
Anzeige
AW: umgekehrt gedacht
PeterW
Hallo,
wie wäre es statt GoTo mit Select Case zu arbeiten?
Gruß
Peter
AW: umgekehrt gedacht
soendi
ja, ist sicherlich auch möglich.
bin aber recht goto-fixiert. (ich kenn noch nix anderes, bilde mich aber gerne fort)
gruss
soendi
AW: umgekehrt gedacht
PeterW
Hallo,
genau diesem Zweck (Fortbildung) diente mein Hinweis. :-)
Gruß
Peter
AW: umgekehrt gedacht
Florian
...hab mich für AfterUpdate()entschieden,danke für die Hilfe:-)
Florian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige