ComboBox Befüllen

Alle Methoden, um Daten aus einer Tabelle in deiner ComboBox einzufügen

Ich möchte dir zeigen, welche Möglichkeiten zur Verfügung stehen, um Daten in deiner ComboBox anzuzeigen.

Zu Beginn benötigst du eine Intelligente Tabelle (tblVerkaeufe) sowie eine UserForm mit entsprechender ComboBox.

Um VBA zu lernen und besser zu verstehen, empfehle ich dir mein kostenloses Grundlagentraining, in dem ich dir die ersten Schritt in Excel-VBA zeige.

Die verschiedenen Methoden im Überblick:

Es gibt drei Hauptmethoden, um eine Combo-Box zu befüllen, die du vielseitig und deinen Bedürfnissen entsprechend einsetzen kannst.

  • RowSource
  • AddItem
  • List
    • Range
    • Array

Die RowSource Methode

Mit der RowSource Methode kannst du definierte, zusammenhängende Zellbereiche zu deiner ComboBox hinzufügen. Änderungen am Tabellenblatt, die den eingefügten Zellbereich betreffen, werden automatisch übernommen und in der ComboBox dargestellt. Mit dieser Methode ist es nicht möglich einzelne Werte hinzuzufügen.

				
					' Fest definierten Zellbereich in die ComboBox einfügen
ComboBox1.RowSource = "Verkäufe!D12:D21"

' Spalte einer intelligenten Tabelle in die ComboBox einfügen
ComboBox1.RowSource = Range("tblVerkaeufe[Straße]").Address

' Praxistipp: Erstelle für deine ComboBox eine eigene intelligente Tabellen mit einer Spalte, die du einliest. 
ComboBox1.RowSource = Tabelle2.Range("tblPLZ").Address

				
			

Die AddItem Methode

Die AddItem Methode bietet die Möglichkeit einzelne, unabhängige Werte der ComboBox hinzuzufügen. Eine Verbindung zum Tabellenblatt besteht nicht und du kannst einzelne Werte jederzeit per Code hinzufügen.

				
					Dim cell As Range

'Schleife über alle Zellen im Zellbereich
For Each cell In Range("tblVerkaeufe[Ort]")
    
    'Zellwert zur ComboBox hinzufügen
    ComboBox1.AddItem cell.Value

Next cell

				
			

Die List Methode

Die List Methode Range bietet einerseits die Möglichkeit zusammenhängende Werte einzutragen, wobei hier keine Verbindung zum Tabellenblatt besteht und du kannst einzelne Werte jederzeit per Code hinzufügen.

Die List Methode Array bietet die Möglichkeit einzelne, unzusammenhängende Werte einzutragen, wobei hier ebenfalls keine Verbindung zum Tabellenblatt besteht und du einzelne Werte jederzeit per Code hinzufügen kannst.

				
					'List mit Range
Dim rng As Range

Set rng = Range("TblVerkaeufe[Ort]")

ComboBox1.List = rng.Value


'List mit Array
Dim arr As Variant
Dim rng As Range

Set rng = Range("TblVerkaeufe[Ort]")

arr = rng

ComboBox1.List = arr

				
			

Erstes Element der ComboBox automatisch auswählen

Du kannst das erste Elemente der ComboBox automatisch auswählen.

				
					'Erstes Element auswählen
ComboBox1.ListIndex = 0

				
			

Werte händisch eintragen deaktivieren

Im Standardfall ist eine ComboBox so definiert, dass das Eintragen neuer Werte erlaubt ist. Wenn du das deaktivieren möchtest, musst du im Eigenschaftenfenster der ComboBox den Style Eintrag ändern.

0 – frmStyleDropDownCombo (Lässt das Eintragen eines Wertes zu)

2 – frmStyleDropDownList (Entfenrt die Möglichkeit, Werte direkt einzugeben)

Mit ausgewältem Eintrag weiterarbeiten

Du kannst mit dem ausgewählten Wert in der ComboBox natürlich weiterarbeiten und z.B. eine MessageBox damit befüllen.

				
					Private Sub btnAusgabe_Click()

    MsgBox ComboBox1.Value

End Sub

				
			

Ich hoffe dieses Tutorial hilft dir dabei, deine ComboBoxen in deinen Excel-Anwendungen effektiv zu nutzen.

Melde dich gerne für meinen Newsletter an und erhalte regelmäßig Tipps & Tricks rund um das Thema Excel VBA!

Teile diesen Beitrag

Empfehlungen für dich

VBATrainer Excel VBA Coaching - Lagerverwaltung

Sichere dir jetzt meine kostenlose Lagerverwaltungs-Anwendung