3.2k Aufrufe
Gefragt in Tabellenkalkulation von
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

7 Antworten

0 Punkte
Beantwortet von kauz Mitglied (291 Punkte)
Hallo fedjo...
nimm doch das Ereignis <Change> :
Private Sub ComboBox5_Change()
...
...
End Sub

Hoffe, ich hab Dich richtig verstanden...

Gruß
Kauz
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von kauz Mitglied (291 Punkte)
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
0 Punkte
Beantwortet von
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: Combobox

Gruß
fedjo

Private Sub ComboBox1_Click()
TextBox1.SetFocus
End Sub
0 Punkte
Beantwortet von kauz Mitglied (291 Punkte)
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
0 Punkte
Beantwortet von
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
0 Punkte
Beantwortet von kauz Mitglied (291 Punkte)
Hallo fedjo...

Danke für die Rückmeldung.

Freut mich wenn ich helfen konnte...

Gruß
Kauz
...