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

Forumthread: ListBox über Tabelle füllen

ListBox über Tabelle füllen
29.06.2015 16:58:59
Liz
Hallo,
wie kann ich eine ListBox füllen über eine Tabelle?
Hab in Tabelle4 in der ersten Spalte ab Zeile 2 Werte stehen, die ich dann in eine ListBox übernehmen will. Die Werte können beliebig lang sein. Das heißt, es können welche dazukommen oder wieder wegkommen.
Vorab schon mal danke für die Hilfe!
Liebe Grüße
Liz

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox über Tabelle füllen
29.06.2015 19:24:02
AlexG
Hallo Liz,
da ich nicht weiß wo deine ListBox liegt hier ein allgemeines Beispiel
Sub ListBoxFuellen()
Dim lngRow As Long
Dim Bereich As Range
Dim Z As Object
lngRow = Worksheets("Tabelle4").Cells(Rows.Count, 1).End(xlUp).Row
Set Bereich = Worksheets("Tabelle4").Range("A2:A" & lngRow)
    For Each Z In Bereich
        Worksheets("Tabelle4").ListBox1.AddItem Z
    Next Z
End Sub
Gruß
Alex

Anzeige
AW: ListBox über Tabelle füllen
30.06.2015 08:16:16
Liz
Hallo, Danke!
Ich hab gestern einen Code gefunden, der mir das auch macht. Wo ist der Unterschied zu deinem?
Bzw welcher ist besser?
ListBox1.List = Tabelle4.Range(Tabelle4.Cells(2, 5), Tabelle4.Cells(Tabelle4.Rows.Count, 1).End(xlUp)).Resize(, 7).Value
Leider versteh ich den Code nicht ganz...warum "Tabelle4.Cells(2,5)?
Viele Grüße

Anzeige
AW: ListBox über Tabelle füllen
01.07.2015 19:18:09
AlexG
Hallo Liz,
Der von dir gepostete Code liest einen ganzen Bereich ein, meiner die Zellen einzeln. Was jetzt besser ist kann ich dir nicht sagen. Das mit dem cells(2, 5) ist in meinen Augen ein Fehler da der Bereich bis Spalte 5 deklariert wird. Ich finde meinen Code etwas verständlicher/ übersichtlicher.
Gruß
Alex
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

ListBox über eine Tabelle füllen in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine ListBox in Excel VBA mit Daten aus einer Tabelle zu füllen, kannst du den folgenden VBA-Code verwenden. Dieser geht davon aus, dass deine Daten in "Tabelle4" in der ersten Spalte ab Zeile 2 beginnen:

Sub ListBoxFuellen()
    Dim lngRow As Long
    Dim Bereich As Range
    Dim Z As Object

    ' Bestimmen der letzten Zeile in Tabelle4
    lngRow = Worksheets("Tabelle4").Cells(Rows.Count, 1).End(xlUp).Row
    ' Definieren des Bereichs, der gefüllt werden soll
    Set Bereich = Worksheets("Tabelle4").Range("A2:A" & lngRow)

    ' Füllen der ListBox
    For Each Z In Bereich
        Worksheets("Tabelle4").ListBox1.AddItem Z
    Next Z
End Sub

Dieser Code durchläuft alle Zellen im angegebenen Bereich und fügt die Werte in die ListBox ein. Du kannst diesen Code in einem VBA-Modul einfügen und ausführen, um die ListBox zu füllen.


Häufige Fehler und Lösungen

  1. Fehlermeldung "Objekt nicht gefunden"

    • Überprüfe, ob die ListBox korrekt benannt ist (z.B. ListBox1). Stelle sicher, dass du den richtigen Verweis auf das UserForm oder das Arbeitsblatt verwendest.
  2. ListBox bleibt leer

    • Stelle sicher, dass der Bereich in der Tabelle tatsächlich Werte enthält. Wenn der Bereich leer ist, wird die ListBox ebenfalls leer bleiben.
  3. Ungewollte Werte in der ListBox

    • Möglicherweise wird der Bereich nicht korrekt definiert. Überprüfe, ob du den richtigen Bereich in der Tabelle angegeben hast.

Alternative Methoden

Eine alternative Methode zum Füllen der ListBox ist die Verwendung der List-Eigenschaft, die es dir ermöglicht, die gesamte Datenreihe auf einmal zu laden. Hier ein Beispiel:

ListBox1.List = Tabelle4.Range(Tabelle4.Cells(2, 1), Tabelle4.Cells(Rows.Count, 1).End(xlUp)).Value

Diese Methode ist effizienter, wenn du eine große Anzahl von Daten hast, da sie die ListBox in einem einzigen Schritt füllt.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit verschiedenen Produkten in "Tabelle4" ab Zeile 2. Um die ListBox mit den Produktnamen zu füllen, kannst du den folgenden VBA-Code verwenden:

Sub ProdukteFuellen()
    Dim lngRow As Long
    lngRow = Worksheets("Tabelle4").Cells(Rows.Count, 1).End(xlUp).Row
    ListBox1.List = Worksheets("Tabelle4").Range("A2:A" & lngRow).Value
End Sub

Dieser Code füllt die ListBox mit den Produktnamen aus der ersten Spalte der Tabelle.


Tipps für Profis

  • Verwende die RemoveItem-Methode, um nicht mehr benötigte Items aus der ListBox zu entfernen.
  • Kombiniere die ListBox mit einer ComboBox, um dem Benutzer die Auswahl zu erleichtern.
  • Implementiere Filtermöglichkeiten in deinem UserForm, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich eine ListBox in einem UserForm füllen? Du kannst denselben Code verwenden, musst jedoch sicherstellen, dass du auf die ListBox des UserForms verweist, z.B. UserForm1.ListBox1.AddItem Z.

2. Kann ich die ListBox mit Daten aus mehreren Spalten füllen? Ja, du kannst die List-Eigenschaft verwenden, um mehrere Spalten gleichzeitig zu füllen. Stelle sicher, dass du den entsprechenden Bereich angibst, z.B. Range("A2:B" & lngRow).

3. Funktioniert das auch in Excel 365? Ja, der VBA-Code ist mit allen gängigen Excel-Versionen kompatibel, einschließlich Excel 365.

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