
127132
20.04.2016
Excel VBA: Listbox per AddItem befüllen
Hallo miteinander!
Meine Wege haben mich jetzt auch zu VBA geführt. Leider fehlt mir da das erweiterte Grundwissen.
Ausgangslage:
Ich hab eine Tabelle mit mehreren Spalten (A bis F)
Die würde ich alle gerne in einem Userform in einer Listbox einlesen/anzeigen lassen.
Im Netz gesucht und nicht wirklich was brauchbares gefunden. Es geht zwar irgendwie mit
aber das ist zum einen statisch (was wenn ich mehrere zeilen hab?) und zum anderen kann ich da dann nicht mehr viel weiterarbeiten.
Ich müsste die Listbox wohl mit AddItem befüllen.
Okay...weitergesucht und auch was gefunden. Leider klappt das nur für Spalte A.
Wie krieg ich denn da die restlichen Spalten noch unter? Da muss ich wohl eine weitere Variable für die Spalten setzen. Analog zu lZeile dann lSpalte und der Code sollte dann so heißen (nehme ich an):
Ich bin da für jede Hilfe dankbar.
Meine Wege haben mich jetzt auch zu VBA geführt. Leider fehlt mir da das erweiterte Grundwissen.
Ausgangslage:
Ich hab eine Tabelle mit mehreren Spalten (A bis F)
Die würde ich alle gerne in einem Userform in einer Listbox einlesen/anzeigen lassen.
Im Netz gesucht und nicht wirklich was brauchbares gefunden. Es geht zwar irgendwie mit
Listbox1.RowSorce = "Tabelle!A1:F10"
Ich müsste die Listbox wohl mit AddItem befüllen.
Okay...weitergesucht und auch was gefunden. Leider klappt das nur für Spalte A.
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
lZeile = lZeile + 1
Loop
Wie krieg ich denn da die restlichen Spalten noch unter? Da muss ich wohl eine weitere Variable für die Spalten setzen. Analog zu lZeile dann lSpalte und der Code sollte dann so heißen (nehme ich an):
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, lSpalte).Value))
Ich bin da für jede Hilfe dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 302364
Url: https://administrator.de/forum/excel-vba-listbox-per-additem-befuellen-302364.html
Ausgedruckt am: 24.04.2025 um 02:04 Uhr
5 Kommentare
Neuester Kommentar

Moin.
Excel VBA - Auswahl aus Listbox bearbeiten
oder auch so mit Überschriften in der Listbox die in der ersten Zeile stehen.
Gibt's hier jede Menge Beispiel-Sheets im Forum hier noch eins:
Mehrere Zeihlen in "Listbox" einfügen
Gruß jodel32
Excel VBA - Auswahl aus Listbox bearbeiten
aber das ist zum einen statisch (was wenn ich mehrere zeilen hab?)
Du kannst der List-Eigenschaft auch einen Range zuweisen der muss nicht statisch sein sondern kann z.B. alle belegten Zellen ermitteln und dann der List-Eigenschaft zuweisen.Private Sub UserForm_Initialize()
Set Rng = Range("A1").CurrentRegion
With ListBox1
.ColumnCount = Rng.Columns.Count
.List = Rng.Value
End With
End Sub
Private Sub UserForm_Initialize()
Set Rng = Range("A2", Range("A2").CurrentRegion.SpecialCells(xlCellTypeLastCell))
With ListBox1
.ColumnHeads = True
.ColumnCount = Rng.Columns.Count
.RowSource = Rng.Address
End With
End Sub
Mehrere Zeihlen in "Listbox" einfügen
Gruß jodel32

Die Eigenschaft SelectedIndices der Listbox gibt dir alle selektierten Indizes der Listbox als Array zurück.
Darüber kannst du dann per FOR-Schleife iterieren, und schon hast das gewünschte...
Darüber kannst du dann per FOR-Schleife iterieren, und schon hast das gewünschte...

Sorry ich muss mich korrigieren, die "SelectedIndices" Eigenschaft gibt es in der VBA-Variante der Listbox nicht, dort kannst du es aber stattdessen so machen um alle selektierten Einträge zu bekommen:
if ListBox1.ListCount > 0 then
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
MsgBox ListBox1.List(i)
End If
Next
End if