Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Listbox ordentlich mit additem füllen

Listbox ordentlich mit additem füllen
24.09.2004 08:44:19
Rainer
Hallo,
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
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox ordentlich mit additem füllen
tobias
Hallo
z.B. so:

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

mfg tobias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Listbox ordentlich mit additem füllen


Schritt-für-Schritt-Anleitung

Um eine Listbox in Excel VBA ordentlich mit dem additem-Befehl zu füllen, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein UserForm hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle Einfügen -> UserForm.
  3. Füge eine Listbox hinzu:

    • Ziehe eine Listbox aus der Toolbox auf das UserForm.
  4. Füge den Code zum Füllen der Listbox ein:

    • Doppelklicke auf das UserForm und füge den folgenden Code 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
  5. Führe das UserForm aus:

    • Gehe zurück zu Excel und drücke F5, um das UserForm auszuführen.

Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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

Praktische Beispiele

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

Tipps für Profis

  • Verwende .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
  • Datenvalidierung: Stelle sicher, dass die Daten, die du in die Listbox einfügst, korrekt formatiert sind, um Fehler zu vermeiden.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige