gibt es vielleicht eine Möglichkeit eine Listbox ordentlich per additem befehl zu füllen?
etwa so:
userform1.listbox1.additem Name {tab} Telefonnummer {tab} wasauchimmer
Gruß
Rainer
Sub ListBoxfüllen()
Dim zähler As Long, Zähler2 As Integer, EndZelle As Long, Spalte As Integer
On Error Resume Next
For zähler = ListBox1.ListCount - 1 To 0 Step -1
ListBox1.RemoveItem zähler
Next zähler
EndZelle = Cells(65536, 2).End(xlUp).Row
If EndZelle < 10 Then Exit Sub
For zähler = 11 To EndZelle
ListBox1.AddItem Cells(zähler, 3)
For Zähler2 = 1 To 9
Spalte = Zähler2 + 3
ListBox1.List(ListBox1.ListCount - 1, Zähler2) = Cells(zähler, Spalte)
Next Zähler2
Next zähler
End Sub
Um eine Listbox in Excel VBA ordentlich mit dem additem
-Befehl zu füllen, kannst du die folgenden Schritte befolgen:
Öffne den VBA-Editor:
ALT + F11
, um den VBA-Editor zu öffnen.Füge ein UserForm hinzu:
Einfügen -> UserForm
.Füge eine Listbox hinzu:
Füge den Code zum Füllen der Listbox ein:
Sub ListBoxFüllen()
Dim zähler As Long, Zähler2 As Integer, EndZelle As Long, Spalte As Integer
On Error Resume Next
For zähler = ListBox1.ListCount - 1 To 0 Step -1
ListBox1.RemoveItem zähler
Next zähler
EndZelle = Cells(65536, 2).End(xlUp).Row
If EndZelle < 10 Then Exit Sub
For zähler = 11 To EndZelle
ListBox1.AddItem Cells(zähler, 3)
For Zähler2 = 1 To 9
Spalte = Zähler2 + 3
ListBox1.List(ListBox1.ListCount - 1, Zähler2) = Cells(zähler, Spalte)
Next Zähler2
Next zähler
End Sub
Führe das UserForm aus:
F5
, um das UserForm auszuführen.Fehler: "Index außerhalb des gültigen Bereichs"
Lösung: Stelle sicher, dass die Listbox korrekt benannt ist (z.B. ListBox1
) und dass die Zellen, die du füllen möchtest, existieren.
Fehler: Listbox bleibt leer
Lösung: Überprüfe den Bereich, aus dem die Daten stammen. Möglicherweise sind die Zellen leer oder der EndZelle-Wert ist falsch.
Eine andere Methode, um eine Listbox zu füllen, ist die Verwendung von Arrays. Du kannst die Daten zunächst in ein Array laden und dann mit einer Schleife in die Listbox einfügen. Hier ein einfaches Beispiel:
Sub ListBoxMitArrayFüllen()
Dim DatenArray As Variant
Dim i As Long
DatenArray = Range("A1:A10").Value ' Daten aus dem Bereich A1:A10
For i = LBound(DatenArray) To UBound(DatenArray)
ListBox1.AddItem DatenArray(i, 1)
Next i
End Sub
Wenn du beispielsweise eine Listbox mit Namen und Telefonnummern füllen möchtest, kannst du die Zellen in Excel wie folgt anordnen:
A | B |
---|---|
Name | Telefonnummer |
Max | 123456789 |
Anna | 987654321 |
Der VBA-Code könnte dann so aussehen:
Sub ListBoxNamenUndTelefonnummernFüllen()
Dim EndZelle As Long
EndZelle = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To EndZelle
ListBox1.AddItem Cells(i, 1) ' Name
ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(i, 2) ' Telefonnummer
Next i
End Sub
.List
-Eigenschaft: Anstatt die Listbox mit additem
zu füllen, kannst du auch die .List
-Eigenschaft verwenden, um mehrere Items gleichzeitig hinzuzufügen.ListBox1.List = Range("A1:B10").Value
1. Wie kann ich eine Listbox mit mehreren Spalten füllen?
Du kannst die Listbox mit .List
füllen, indem du ein Bereichsobjekt übergibst, wie im Beispiel oben gezeigt.
2. Was ist der Unterschied zwischen ListBox.AddItem
und ListBox.List
?
ListBox.AddItem
fügt ein einzelnes Element hinzu, während ListBox.List
verwendet wird, um mehrere Elemente auf einmal hinzuzufügen oder um den Inhalt einer Listbox zu verwalten.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen