Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox aufklappen bei Eingabe ?

Forumthread: Combobox aufklappen bei Eingabe ?

Combobox aufklappen bei Eingabe ?
k
Hallo,
...kann man die Combobox mit einem VBA-Befehl während der Eingabe aufklappen und den Bereich sehen der der Eingabe entspricht ?
Also: Man gibt z.B.: Lehmann ein und dann soll die Combox aufklappen und Lehmann markiert sein sowie alles was vor und nach Lehmann steht sehen. So dass der User auch sehen kann, dass es z.B. einen Lehmannsberg gäbe.
Mit Enter soll dann die Combobox sich wieder schließen und der Eintrag als Listindex verarbeitet werden.
Geht sowas ? Und wenn ja wie ?
Gruß und Danke
Kay
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Combobox aufklappen bei Eingabe ?
28.07.2009 11:14:04
Tino
Hallo,
versuche es einfach mal so.
Private Sub ComboBox1_Change()
ComboBox1.DropDown
End Sub
Gruß Tino
AW: Combobox aufklappen bei Eingabe ?
28.07.2009 12:13:23
k
Hi Tino,
danke schon mal, aber wenn ich die Userform Starte und die Combobox vorbelege - starte ich die Userform bereits mit "offener" Combobox - kann man das beim sart noch unterdrücken ?!
Gruß
Kay
Anzeige
verwende die Tag Eigenschaft der ComboBox
28.07.2009 12:22:42
Tino
Hallo,
Beispiel:
Private Sub ComboBox1_Change()
If ComboBox1.Tag = "" Then
ComboBox1.DropDown
End If
End Sub
Private Sub UserForm_Initialize()
ComboBox1.Tag = "1"
'... Dein Code
ComboBox1.Tag = ""
End Sub
Gruß Tino
oder eine Variable definieren...
28.07.2009 13:05:20
Tino
Hallo,
, Du kannst es auch so machen.
Dim Events_UF As Boolean
Private Sub ComboBox1_Change()
If Not Events_UF Then
ComboBox1.DropDown
End If
End Sub
Private Sub UserForm_Initialize()
Events_UF = True
'... Dein Code
Events_UF = False
End Sub
Gruß Tino
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Combobox in Excel automatisch aufklappen


Schritt-für-Schritt-Anleitung

Um eine Combobox in Excel automatisch aufklappen zu lassen, während Du eine Eingabe machst, kannst Du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Combobox sich öffnet, wenn Du etwas eingibst:

  1. Öffne die Excel-Datei, in der Du die Combobox verwenden möchtest.
  2. Gehe zu den Entwicklertools und öffne den VBA-Editor (Alt + F11).
  3. Füge eine Userform hinzu, falls noch nicht geschehen.
  4. Füge eine Combobox zu Deiner Userform hinzu (nennen wir sie ComboBox1).
  5. Kopiere den folgenden Code in das Codefenster der Userform:
Private Sub ComboBox1_Change()
    ComboBox1.DropDown
End Sub
  1. Um das "Aufklappen" beim Start der Userform zu verhindern, passe den Code wie folgt an:
Private Sub UserForm_Initialize()
    ComboBox1.Tag = "1"
    '... Dein Code
    ComboBox1.Tag = ""
End Sub

Jetzt wird die Combobox nur aufklappen, wenn Du etwas eingibst und nicht beim Start der Userform.


Häufige Fehler und Lösungen

  • Fehler: Die Combobox öffnet sich nicht.

    • Lösung: Stelle sicher, dass der Code im ComboBox1_Change-Event korrekt geschrieben ist.
  • Fehler: Combobox bleibt beim Start geöffnet.

    • Lösung: Überprüfe, ob Du den Tag-Wert korrekt gesetzt hast, um das vorzeitige Öffnen zu verhindern.
  • Fehler: Die Eingabe wird nicht erkannt.

    • Lösung: Achte darauf, dass Du mit der richtigen Combobox arbeitest und die richtige Userform aktiv ist.

Alternative Methoden

Wenn Du eine andere Möglichkeit suchst, die Combobox zu steuern, kannst Du eine Variable definieren, um das Ereignis zu steuern:

Dim Events_UF As Boolean

Private Sub ComboBox1_Change()
    If Not Events_UF Then
        ComboBox1.DropDown
    End If
End Sub

Private Sub UserForm_Initialize()
    Events_UF = True
    '... Dein Code
    Events_UF = False
End Sub

Diese Methode verhindert, dass die Combobox beim Start der Userform öffnet und ermöglicht gleichzeitig das automatische Aufklappen während der Eingabe.


Praktische Beispiele

Angenommen, Du hast eine Liste von Namen in der Combobox, und Du möchtest, dass die Combobox aufklappt, wenn Du einen Buchstaben eingibst. Nutze den oben genannten Code und teste die Eingabe. Wenn Du "Le" eingibst, sollte die Combobox aufklappen und Dir Optionen wie "Lehmann" und "Lehmannsberg" anzeigen.


Tipps für Profis

  • Nutze die ListIndex-Eigenschaft, um den ausgewählten Wert nach dem Drücken der Enter-Taste zu verarbeiten.
  • Experimentiere mit weiteren Ereignissen der Combobox, z.B. ComboBox1_KeyPress, um noch mehr Kontrolle über die Eingabe zu erhalten.
  • Halte den Code sauber und gut kommentiert, um die Wartung und Anpassung zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich die Combobox auch in einer Tabelle verwenden? Ja, Du kannst eine ActiveX-Combobox in einer Tabelle einfügen und denselben VBA-Code verwenden.

2. Funktioniert dieser Code in Excel 2016 und 2019? Ja, der Code sollte in allen gängigen Excel-Versionen funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige