127132
Apr 20, 2016
30677
5
0
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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 302364
Url: https://administrator.de/contentid/302364
Printed on: April 19, 2024 at 21:04 o'clock
5 Comments
Latest comment
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