Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.10.2025 22:18:19
03.10.2025 18:57:58
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Listbox mit 2 Spalten

Listbox mit 2 Spalten
19.12.2007 22:22:00
Boris
Hi,
ich würde gern eine Listbox mit 2 Spalten erstellen - eigentlich kein Problem, nur bekommt es mein Excel nicht hin. Viele Beispiele hab ich schon gesehen, immer verschluckt er sich an einfachen Zuweisungen, wie z.B.
einen Namen hinzufügen, in der 2ten Spalte eine Telefonnummer (und es nach Namen sortieren aber ich schaffs ja nicht mal mit den ärmsten Befehlen in die LstBox). Namen und Telefonnummern stehen in Spalte A sowie in Spalte E. Mit Offset(x,y) ist auch klar - das ist ja nicht das Problem!
.ColumnCount = 2 'is klar da 2 Spalten
'.AddItem (Name) 'vorher irgendwie Additem durchführen, weiß jetzt nicht so genau!
Me.lstBox.List(1, 1) = Name , oder AddItem usw. es kommt mir so vor als ob die Listbox schreibgeschützt ist!
Bezeichnungen etc. sind 100% richtig, also Tabellenblatt, Boxen etc.
Fehler 381 kenn ich nun, ich KANN ihn nicht mehr sehen! Listeigenschaft kann nicht gesetzt werden ... blabla
-danke schonmal für hilfe

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox mit 2 Spalten
19.12.2007 22:29:37
Renee
Hi Boris,
Versuch's mal nach diesem Prinzip:

Sub BlaBla()
For iZeile = 1 to AnzahlZeilen
ListBox1.AddItem Cells(zeile, 1)
ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(iZeile, 5)
Next iZeile
End Sub


GreetZ Renee

AW: Listbox mit 2 Spalten
19.12.2007 23:17:00
Daniel
Hi
nur noch so zur Erläuterung, die Nummeriierung der Zeilen und Spalten einer Listbox beginnt bei 0 und nicht bei 1.
wenn du Daten hinzufügst, dann wird bei einer mehrspaltigen Listbox nur das Element der ersten spalte hinzugefügt, die Elemente der weiteren Spalten dann über .LIST.
das hast du schon richtig erkannt.
die korrekte Umsetzung sieht dann so aus:
with listbox1
.additem "Dein Name"
.list(.listcount - 1. 1) = "Deine Telefon-Nr"
.list(.listcount - 1, 2) = "Deine Addresse"
end with
Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Listbox mit 2 Spalten in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Listbox mit 2 Spalten in Excel VBA zu erstellen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Vorbereitung der Listbox:

    • Erstelle eine UserForm und füge eine ListBox hinzu. Nenne sie zum Beispiel ListBox1.
    • Setze die ColumnCount-Eigenschaft der ListBox auf 2, um zwei Spalten zu aktivieren.
  2. VBA Code hinzufügen:

    • Öffne den VBA-Editor (Alt + F11) und füge den folgenden Code in das Modul der UserForm ein:
    Sub FuelleListBox()
       Dim iZeile As Long
       Dim AnzahlZeilen As Long
    
       AnzahlZeilen = Cells(Rows.Count, 1).End(xlUp).Row ' Zählt die Zeilen in Spalte A
    
       For iZeile = 1 To AnzahlZeilen
           ListBox1.AddItem Cells(iZeile, 1) ' Fügt den Namen aus Spalte A hinzu
           ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(iZeile, 5) ' Fügt die Telefonnummer aus Spalte E hinzu
       Next iZeile
    End Sub
  3. UserForm anzeigen:

    • Um die UserForm anzuzeigen, kannst Du eine weitere Subroutine erstellen:
    Sub UserFormAnzeigen()
       UserForm1.Show
    End Sub
  4. Testen:

    • Starte die UserForm über die UserFormAnzeigen-Subroutine und überprüfe, ob die ListBox richtig gefüllt wurde.

Häufige Fehler und Lösungen

  • Fehler 381: "Die Listeigenschaft kann nicht gesetzt werden":

    • Dieser Fehler tritt häufig auf, wenn Du versuchst, die ListBox nicht korrekt zu befüllen. Stelle sicher, dass Du die AddItem-Methode richtig verwendest.
  • ListBox scheint schreibgeschützt:

    • Überprüfe, ob die Enabled-Eigenschaft der ListBox auf True steht.
  • Falsche Indizes:

    • Beachte, dass die Indizes in einer ListBox bei 0 beginnen. Stelle sicher, dass Du die richtigen Indizes verwendest.

Alternative Methoden

Wenn Du eine ListBox mit mehreren Spalten füllen möchtest, kannst Du auch die List-Eigenschaft der ListBox verwenden. Hier ist ein Beispiel:

Sub FuelleListBoxAlternativ()
    Dim Daten(1 To 10, 1 To 2) As String
    ' Beispiel-Daten befüllen
    Daten(1, 1) = "Max Mustermann"
    Daten(1, 2) = "0123-456789"
    ' ...

    ListBox1.List = Daten ' Füllt die ListBox mit einem 2D-Array
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die ListBox in verschiedenen Szenarien nutzen kannst:

  1. Namen und Telefonnummern:

    • Fülle die ListBox mit Namen in der ersten Spalte und Telefonnummern in der zweiten Spalte, wie im Schritt-für-Schritt-Beispiel gezeigt.
  2. Produkte und Preise:

    • Du kannst die ListBox auch mit Produkten und Preisen füllen, indem Du die Daten aus einer Tabelle in Excel überträgst.
Sub FuelleProdukte()
    Dim i As Long
    Dim AnzahlProdukte As Long

    AnzahlProdukte = Cells(Rows.Count, 1).End(xlUp).Row ' Zählt die Produkte in Spalte A

    For i = 1 To AnzahlProdukte
        ListBox1.AddItem Cells(i, 1) ' Produktname
        ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(i, 2) ' Preis
    Next i
End Sub

Tipps für Profis

  • Daten dynamisch laden: Verwende die WorksheetFunction.CountA-Methode, um die Anzahl der nicht-leeren Zeilen zu zählen, anstatt Cells(Rows.Count, 1).End(xlUp).Row.

  • Sortierung: Du kannst die ListBox nach dem Hinzufügen von Elementen mit einem Sortieralgorithmus sortieren, um die Benutzerfreundlichkeit zu erhöhen.

  • Styling: Experimentiere mit der ListStyle-Eigenschaft der ListBox, um das Aussehen zu verbessern.


FAQ: Häufige Fragen

1. Wie viele Spalten kann eine ListBox haben?
Eine ListBox kann bis zu 255 Spalten haben, aber es ist ratsam, nur so viele zu verwenden, wie Du auch wirklich benötigst.

2. Was ist der Unterschied zwischen AddItem und List?
AddItem fügt ein neues Element zur ListBox hinzu, während die List-Eigenschaft verwendet wird, um mehrere Elemente gleichzeitig zu setzen oder zu ändern.

3. Kann ich Daten aus einer externen Quelle in die ListBox laden?
Ja, Du kannst Daten aus externen Quellen wie Access-Datenbanken oder Textdateien importieren und in die ListBox hinzufügen.

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