Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Ausnahmen für Exit-Ereignis

Betrifft: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 09:14:22

Hallo Experten,

ich habe eine Userform mit einer Textbox, einem Lsitenfeld und zwei Buttons.

Wenn in die Textbox etwas eingegeben wird, wird das Listfeld entsprechend gefüllt und der Focus geht wieder auf die Textbox. Dies habe ich über das Exit-Ereignis umgesetzt. Wenn eine falsche Eingabe (nichtnumerisch) in der Textbox gemacht wird, erscheint eine Fehler-Msgbox.

Wenn ich nun auf einen der beiden Button klicke (Abbrechen bzw. Wechsel zu einer anderen Userform) erscheint diese Fehler-Msgbox auch. Logisch ist das schon, aber wie kann ich das umgehen.

Kann ich beim Exit-Ereignis prüfen, ob ein Button gedrückt wurde? Ich habe es schon mit Activcontrol.Name probiert, aber die Textbox ist ja noch aktiv.

Vielen Dank und Gruß
Specke

  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Hajo_Zi
Geschrieben am: 22.01.2008 09:27:28

Hallo Nick,

vielleicht wäre eine Datei nicht schlecht? Ein Nachbau sieht meist anders aus als das Original.

GrußformelHomepage


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 12:45:55

Hallo Hajo,

hier die Datei
https://www.herber.de/bbs/user/49264.xls

Es geht um die Userform "Ausgabe" (zu erreichen über den Button Ausgabe in der Userform"Eingabe") und die Textbox "txt_Liste".

Danke und Gruß
Specke


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Hajo_Zi
Geschrieben am: 22.01.2008 13:16:09

Hallo Nick,

setfocus kann entfallen.
If Not IsNumeric(txt_Liste.Value) Then
Fehlermeldung "Listennummer", "txt_Liste"
Cancel = True

Gruß Hajo


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 13:31:09

Hallo Hajo,

das ist richtig, aber die Fehlermeldung beim Klick auf "Ende" kommt deshalb immer noch.

Gruß Specke


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Hajo_Zi
Geschrieben am: 22.01.2008 13:39:02

Hallo Nick,

davon Stand aber nichts von im Beitrag?
Der Fehler wird bei mir ausglöst falls Tabelle nicht vorhanden.

Gruß Hajo


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 13:44:51

Hallo Hajo,

in meinem Eingangsbeitrag hatte ich das Problem schon beschrieben. Die Meldung kam bei mir immer.

Habe von Rudi einen hilfreichen Tipp bekommen. (s.u.)

Danke und Gruß
Specke


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Chris
Geschrieben am: 22.01.2008 09:55:31

Servus,

ich würde die Eingabeprüfung nicht über Exit regeln, sondern über Change:

Hier mal ein Ansatz:

Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) And TextBox1 <> "" Then
   TextBox1 = ""
    MsgBox "Ungültige Eingabe!" & Chr(13) & Chr(13) & " Sie können nur Zahlen eingeben!",  _
vbExclamation, "Eingabe!"
End If
End Sub



Gruß

Chris


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 12:48:44

Hallo Chris,

danke für Deine Antwort.
Das Problem ist dabei, dass nicht nur die Eingabe geprüft werden soll, sondern auch wieder in die Textbox zurückgesprungen werden soll, wenn die Eingabe korrekt war und die Listbox gefüllt wurde. Mit Setfocus auf die Textbox funktioniert das leider nicht.

Gruß Specke


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Rudi Maintaire
Geschrieben am: 22.01.2008 13:27:30

Hallo,
dummerweise kommt zuerst das Exit-Ereignis.

vielleicht mit

if txt_liste<>"" Then
'Code
End If

Gruß
Rudi

Eine Kuh macht Muh, viele Kühe machen Mühe


  

Betrifft: AW: Ausnahmen für Exit-Ereignis von: Specke
Geschrieben am: 22.01.2008 13:33:35

Hallo Rudi,

die Idee ist gut! So funktioniert es.

Danke Specke