ComboBox Dropdown Liste
Hallo Excel Freunde,
gibt es eine Möglichkeit das eine ComboBox (Steuerelement) nur bei einem klick auf einen Eintrag in der Dropdown Liste ein Ereignis (TextBox2.SetFocus) ausführt. Das Ereignis sollte aber nicht durch Texteingabe und Autovervollständigung ausgeführt werden.
Mein bisheriger Code:
Private Sub ComboBox5_Click()
TextBox2.SetFocus
End Sub
Ich hoffe ihr habt dazu auch eine Lösung.
Gruß
fedjo
Antwort schreiben
Antwort 1 von Kauz vom 23.11.2021, 20:02 Options
Hallo fedjo...
nimm doch das Ereignis <Change> :
Private Sub ComboBox5_Change()
...
...
End Sub
Hoffe, ich hab Dich richtig verstanden...
Gruß
Kauz
Antwort 2 von fedjo vom 24.11.2021, 16:50 Options
Hallo Kauz,
danke für die schnelle Antwort.
Das Ereignis (Change) habe ich es auch versucht, löst aber das Problem nicht.
Es sollte also nur ein Ergebnis ausgelöst werden, wenn aus der Dropdown Liste eine Auswahl angeklickt wird.
Gruß
fedjo
Antwort 3 von Kauz vom 25.11.2021, 18:55 Options
Hallo fedjo...
hab das nochmal ausprobiert:
Private Sub ComboBox1_Change()
MsgBox "Change"
End Sub
Private Sub ComboBox1_Click()
MsgBox "Click"
End Sub
Nur wenn auf ein Eintrag in der Pulldownliste geklickt wird,
wird auch das Click-Ereignis abgearbeitet.
(Nach dem Change-Ereignis)
Mache ich eine direkte Eingabe in das Feld per Tastatur,
so wird das Click-Ereignis nicht abgearbeitet.
(Nur Change)
Also ist das Click-Ereignis doch genau was Du möchtest?
Gruß
Kauz
Antwort 4 von fedjo vom 26.11.2021, 17:53 Options
Hallo Kauz,
bei einer direkten Eingabe in das Feld der ComboBox mit der Tastatur, wird der Text durch das Click Ereignis und Auto-Vervollständigen ergänzt, wenn es keine weitere Möglichkeit mehr gibt.
Musterdatei:
ComboboxGruß
fedjo
Private Sub ComboBox1_Click()
TextBox1.SetFocus
End Sub
Antwort 5 von Kauz vom 26.11.2021, 22:08 OptionsLösung
Hallo fedjo...
das die Steuerelemente auf einer Userform liegen, hast Du nicht erwähnt.
Hab mir das mal angeschaut, und ich würde bei der Combobox die Eigenschaft (MatchEntry) auf (2-fmMatchEntryNone) setzen.
Denn das Autoausfüllen löst das Click-Ereignis aus, weil damit ja eine Auswahl aus der Liste getroffen wird, so als ob draufgeklickt würde.
Eine andere Möglichkeit wäre, den Setfokus-Befehl in das (Exit-Ereignis) zu setzen....
Dann muß aber jede Auswahl mit einem Return beendet werden.
(Hab das nur kurz angetestet... weiß nicht, ob das für Deine 'Ablaufsteuerung' geeignet ist)
Gruß
Kauz
Antwort 6 von fedjo vom 28.11.2021, 09:09 Options
Hallo Kauz,
ich dachte es ist unwichtig ob die ComboBox auf einer UserForm liegt oder nicht.
Wenn ich bei der Combobox die Eigenschaft (MatchEntry) auf (2-fmMatchEntryNone) setze, dann wird aus der Drop Down Liste kein Vorschlag angezeigt.
Ich möchte mit einer direkten Eingabe in das Feld der ComboBox auch eine Auswahl erzeugen, die man übernehmen oder die Eingabe fortsetzen kann.
Der Setfokus-Befehl in das (Exit-Ereignis) mit TextBox1.SetFocus erfüllt die Anforderungen die ich dann mit der Enter-Taste beende.
Ich möchte mich noch mal für deine Hilfe bedanken,
damit hast Du mir damit sehr geholfen.
Gruß
fedjo
Antwort 7 von Kauz vom 28.11.2021, 16:02 Options
Hallo fedjo...
Danke für die Rückmeldung.
Freut mich wenn ich helfen konnte...
Gruß
Kauz