Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ListBox 3 Spalten

ListBox 3 Spalten
Heiko
Hallo, Profis,
hoffentlich kann mir jemand auf die Sprünge helfen...
Ich möchte in eine Listbox 3 Spalten eintragen die in einer Tabelle in Spalte A, C und D stehen, also nicht zusammenhängend. Die Liste geht von Zeile 3 bis 87.
In der Listbox möchte ich 1, 2 oder max. 3 Einträge auswählen können und in eine neue Tabelle schreiben bzw. in irgendwelche Zellen, z.B. zeilen 1-4 (wegen Überschrift) und Spalten 1-3.
Jetzt kommts: Ich kriegs nichtmal hin, die Listbox außer mit Spalte 1 zu füllen...
Für Euch Profis bestimmt "ist doch total einfach!..." ich sitz schon seit Stunden dran und kriegs nicht hin.
Ich will auch nicht abschreiben - ich wills gerne verstehen... kann mir wer helfen?
Danke im voraus, Heiko
Anzeige

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

Betreff
Benutzer
Anzeige
AW: ListBox 3 Spalten
10.04.2011 07:35:34
hary
Hallo Heiko
zum ersten Prob.
Unter Eigenschaft der ListBox aender:
Column Count auf 3 setzen.
und Multiselect aendern.
und in den Code der UserForm:

Private Sub UserForm_Initialize()
Dim i As Long
With ListBox1
For i = 3 To 87
.AddItem Cells(i, 1) 'SpalteA in erste Spalte
.List(.ListCount - 1, 1) = Cells(i, 3) 'SpalteC in zweite Spalte
.List(.ListCount - 1, 2) = Cells(i, 4) 'SpalteD in dritte Spalte
Next
End With
End Sub

gruss hary
Anzeige
AW: ListBox 3 Spalten
10.04.2011 07:54:34
Heiko
hi, Hary,
vielen Dank!
Ich dachte mir schon, dass es recht einfach ist...
Jetz ist mir auch klar, wie die list-Eigenschaft und die addItem Eigenschaft kombiniert werden können.
Danke nochmal, Heiko
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ListBox in Excel: Mehrspaltige Ausgabe mit VBA


Schritt-für-Schritt-Anleitung

Um eine ListBox in Excel mit mehreren Spalten zu füllen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Diese Anleitung setzt voraus, dass du bereits ein UserForm mit einer ListBox erstellt hast.

  1. ListBox-Einstellungen anpassen:

    • Klicke mit der rechten Maustaste auf die ListBox und wähle „Eigenschaften“.
    • Setze ColumnCount auf 3, um drei Spalten zu aktivieren.
    • Setze MultiSelect auf 1 - fmMultiSelectMulti, um die Auswahl von mehreren Einträgen zu ermöglichen.
  2. VBA-Code einfügen:

    • Öffne den VBA-Editor (Alt + F11).
    • Wähle das UserForm aus, in dem sich deine ListBox befindet.
    • Füge den folgenden Code in das UserForm_Initialize-Ereignis ein:
    Private Sub UserForm_Initialize()
       Dim i As Long
       With ListBox1
           For i = 3 To 87
               .AddItem Cells(i, 1) 'Spalte A in die erste Spalte
               .List(.ListCount - 1, 1) = Cells(i, 3) 'Spalte C in die zweite Spalte
               .List(.ListCount - 1, 2) = Cells(i, 4) 'Spalte D in die dritte Spalte
           Next i
       End With
    End Sub
  3. UserForm testen:

    • Schließe den VBA-Editor und starte das UserForm. Deine ListBox sollte nun mit den Werten aus den Spalten A, C und D gefüllt sein.

Häufige Fehler und Lösungen

  • Fehler: ListBox bleibt leer: Stelle sicher, dass die ColumnCount-Eigenschaft auf 3 gesetzt ist und der Code im UserForm_Initialize korrekt eingegeben wurde.

  • Fehler: Nur eine Spalte wird angezeigt: Überprüfe, ob du die Werte korrekt in die ListBox eingibst. Der Code .List(.ListCount - 1, ...) muss für alle Spalten genutzt werden.

  • Fehler: Auswahl von mehreren Einträgen funktioniert nicht: Achte darauf, dass die MultiSelect-Eigenschaft auf 1 - fmMultiSelectMulti gesetzt ist.


Alternative Methoden

Wenn du keine UserForms verwenden möchtest oder eine einfachere Methode benötigst, kannst du auch eine ActiveX-ListBox direkt in einem Arbeitsblatt verwenden. Die Vorgehensweise ist ähnlich, aber du musst den Code in einem Arbeitsblattmodul unterbringen.

  1. Füge eine ActiveX-ListBox auf ein Arbeitsblatt ein.
  2. Verwende den gleichen VBA-Code im Arbeitsblattmodul, um die ListBox zu füllen.

Praktische Beispiele

Ein Beispiel für eine Tabelle mit drei Spalten könnte wie folgt aussehen:

A B C D
1 2 3
4 5 6
7 8 9

Wenn du diesen Code ausführst, werden die Werte aus Spalte A, C und D (von Zeile 3 bis 87) in die ListBox eingefügt.


Tipps für Profis

  • Datenüberprüfung: Stelle sicher, dass deine Tabelle keine leeren Zellen in den relevanten Spalten hat, da dies zu unerwarteten Ergebnissen in der ListBox führen kann.

  • Dynamische Datenquellen: Du kannst den Code so anpassen, dass er sich automatisch an die Anzahl der Daten in deiner Tabelle anpasst, anstatt eine feste Zeilenanzahl zu verwenden.

  • Design: Nutze die Eigenschaften der ListBox, um das Design zu verbessern, z. B. Schriftgröße oder Hintergrundfarbe.


FAQ: Häufige Fragen

1. Wie kann ich die Werte aus der ListBox in eine Tabelle schreiben?
Du kannst eine Schleife verwenden, um die ausgewählten Werte aus der ListBox in eine Zelle zu übertragen.

2. Kann ich die ListBox auch mit anderen Datenquellen füllen?
Ja, du kannst die ListBox auch mit Daten aus einer externen Datei oder einer anderen Excel-Tabelle füllen, indem du die Daten vorher lädst und dann hinzufügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige