Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exit Problem

Forumthread: Exit Problem

Exit Problem
25.05.2018 06:26:12
Frank
Guten Morgen zusammen,
ich habe in einer UserForm u.a. eine Combobox angelegt. Diese wird beim Initialize angesprochen und gibt Werte einer Liste vor, die in einem Sheet sind.
Zunächst ist aber diese Box leer, weil noch nicht ausgewählt wurde.
Wenn der User nun die Box verlässt ohne eine Auswahl zutreffen, wird er mittels

Private Sub cmbmonat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If frmsim.cmbmonat = "" Then
MsgBox "Feld darf nicht leer bleiben!", vbDefaultButton1
Cancel = True
Exit Sub
End If

in der Combobox gehalten.
Leider kommt die Msgbox aber auch, wenn der User einfach ohne weitere Eingaben die ganze _
Userform verlassen will. Ich habe auf der Userform z.B. einen Button angelegt, der zurück zum Hauptmenü führt:

'7 Zurück zum Hauptmenü
Private Sub combuhauptmenue_Click()
Unload frmsim
Sheets("REGIE").Select
End Sub

Wie kann ich in diesem Fall die Fehlermeldung verhindern? Hat jemand eine Idee?
Habe schon daran gedacht direkt immer den ersten Wert der Liste anzeigen zu lassen, da weis ich aber nicht wie....
Viele Grüße und schönen Start in der Tag.
Frank
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exit Problem
25.05.2018 08:14:23
Dennis
Guten Tag,
ich weis nicht ob es die beste Lösung ist, aber ich denke du könntest eine public Variable festlegen welche dir z.B. auf true geht, wenn der zurück zum Hauptmenü gedrückt wird und sonst false ist.
dann machst du eine If-Funktion ins Exit und frägst die variable ab.
Bei true wird dann dein Code nicht ausgeführt.
Anzeige
AW: Exit Problem
25.05.2018 08:27:35
ChrisL
Hi Frank
Ich hatte die gleiche Idee wie Dennis, aber...
1. müsstest du die Eigenschaft TakeFocusOnClick vom Commandbutton auf False stellen
2. funktioniert der Code nur, wenn du über den Button schliesst, nicht aber übers Kreuz rechts oben
Public b As Boolean

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1 = "" And b = False Then
MsgBox "Feld darf nicht leer bleiben!", vbDefaultButton1
Cancel = True
Exit Sub
End If
End Sub

Private Sub CommandButton1_Click()
b = True
Unload Me
End Sub

M.E. gibt es keine saubere Lösung, weil prinzipiell das Exit-Ereignis ausgeführt wird und dann erst die Folgeaktivität. Bei Exit kann Excel somit noch nicht wissen, ob du das Userform verlassen willst oder nicht.
Ich denke du müsstest dir generell einen anderen Prozess einfallen lassen. Vermutlich drückst du nach vollständiger Eingabe einen Button. Dort prüfst du dann, ob alle Pflichtfelder eingegeben wurden. Meine bevorzugte Variante wäre, den Button erst zu aktivieren (enable) wenn die Pflichteingaben erfolgt sind.
cu
Chris
Anzeige
AW: Exit Problem
25.05.2018 09:06:35
Frank
Erst mal herzlichen Dank an Euch beide. Durch Eure Anregung habe ich eine Lösung gefunden.
Ich setze die Schleife einfach an den Anfang:
Private Sub cmbmonat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If b = True Then
Exit Sub
End If
If frmsim.cmbmonat = "" Then
MsgBox "Feld darf nicht leer bleiben!", vbDefaultButton1
Cancel = True
Exit Sub
End If
So komme ich immer -auch mit dem Kreuzchen- aus der Nummer raus. Die Eigenschaft TakeFocusOnClick vom Commandbutton muss dann auch nicht geändert werden.
Anzeige
AW: Exit Problem
25.05.2018 09:11:27
Frank
Nachtrag:
Eigenschaft TakeFocusOnClick vom Commandbutton muss doch auf False!
Dann funzt aber alles.
AW: Exit Problem
25.05.2018 08:58:47
Thomas
2 Ideen:
a) entweder eine Default Auswahl, dann wär was belegt
oder, wenn das nicht passt
b) n Dummy der Art "", wie mans aus anderen Formularen kennt. Vielleicht war da das gleiche Problem die Ursache
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige