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

Forumthread: Spalten in Listbox anzeigen

Spalten in Listbox anzeigen
21.11.2007 20:54:00
Larissa
Hallo,
ich möchte in einer Listbox die Daten aus 7 Spalten anzeigen. Dabei sollten die Daten pro Spalte untereinander stehen. Das funktioniert mit meinem Makro leider nicht. Weiß jemand, wie das funktionieren könnte? Hier ist mein Makro:

Private Sub UserForm_Activate()
Dim letztezeile  As Long
Dim I As Long
Dim Listentext As String
With Worksheets("Artikel")
Application.ScreenUpdating = False
letztezeile = .Cells(Rows.Count, 1).End(xlUp).Row '
For I = 2 To letztezeile
If .Cells(I, 1) = "" Then Exit For
Listentext = .Cells(I, 1) & "   " & .Cells(I, 2) & "   " & .Cells(I, 3) & "   " &
.Cells(I, 4) & "   " & .Cells(I, 5) & "   " & .Cells(I, 6) & "   " & .Cells(I, 7)
UserForm1.ListBox1.AddItem Listentext
Next I
End With
Application.ScreenUpdating = True
End Sub


Danke für Eure Hilfe,
Larissa

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten in Listbox anzeigen
21.11.2007 21:14:43
Larissa
Hallo,
Sorry, ich habe ein schönes Makro hier im Archiv gefunden, welches mir weiterhilft.
Dieser Beitrag ist also geschlossen. Vielen Dank,
Larissa

AW: Spalten in Listbox anzeigen
21.11.2007 21:22:00
Peter
Hallo Larissa,
das sollte z. B. so gehen:


Private Sub UserForm_Activate()
Dim lLetzte  As Long
Dim lZeile   As Long
Dim lLibox   As Long
   Application.ScreenUpdating = False
   With Me.ListBox1
      .ColumnCount = 7
      .Font.Size = 10
   End With
   With Worksheets("Artikel")
      lLetzte = .Cells(Rows.Count, 1).End(xlUp).Row '
      For lZeile = 2 To lLetzte
         If .Cells(lZeile, 1) = "" Then Exit For
         ListBox1.AddItem
         ListBox1.List(lLibox, 0) = .Cells(lZeile, 1).Value
         ListBox1.List(lLibox, 1) = .Cells(lZeile, 2).Value
         ListBox1.List(lLibox, 2) = .Cells(lZeile, 3).Value
         ListBox1.List(lLibox, 3) = .Cells(lZeile, 4).Value
         ListBox1.List(lLibox, 4) = .Cells(lZeile, 5).Value
         ListBox1.List(lLibox, 5) = .Cells(lZeile, 6).Value
         ListBox1.List(lLibox, 6) = .Cells(lZeile, 7).Value
         lLibox = lLibox + 1
      Next lZeile
   End With
   Application.ScreenUpdating = True
End Sub 


Gruß Peter

Anzeige
AW: Spalten in Listbox anzeigen
21.11.2007 22:42:15
Larissa
Hallo Peter,
Wau, das sieht viel besser aus als das, was ich gefunden hatte. Vielen DANK!!!
Kann man da evtl. die erst Zeile auch als Überschrift einbauen?
Das wäre ja richtig perfekt ;-)
Lieben Gruß,
Larissa

AW: Spalten in Listbox anzeigen
22.11.2007 10:19:20
Rudi
Hallo,

Kann man da evtl. die erst Zeile auch als Überschrift einbauen?


dann musst du die LB füllen, indem du ihr die RowSource-Eigenschaft zuweist.


Private Sub UserForm_Activate()
With ListBox1
.ColumnHeads = True
.ColumnCount = 7
.Font.Size = 10
.RowSource = "Artikel!A2:G" & Sheets("Artikel").Cells(65536, 1).End(xlUp).Row
End With
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Spalten in Listbox anzeigen
22.11.2007 10:21:00
Kay
Hallo Larissa,
da muss die Eigenschaft von der ListBox, ColumnHeads auf True gesetzt werden und die Daten mit RowSource eingefügt werden, dann geht das so:

Private Sub UserForm_Activate()
Dim lLetzte  As Long
Application.ScreenUpdating = False
With Worksheets("Artikel")
lLetzte = .Cells(Rows.Count, 1).End(xlUp).Row '
With Me.ListBox1
.ColumnCount = 7
.ColumnHeads = True
.Font.Size = 10
.RowSource = "A2:G" & lLetzte
End With
End With
Application.ScreenUpdating = True
End Sub


Davon ausgehend das die Überschrift in der 1. Zeile steht.
MfG
Kay

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten in einer Listbox in Excel anzeigen


Schritt-für-Schritt-Anleitung

Folge diesen Schritten, um Daten aus mehreren Spalten in einer Listbox in Excel anzuzeigen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein UserForm hinzu: Klicke mit der rechten Maustaste im Projekt-Explorer auf dein Projekt und wähle Einfügen > UserForm.

  3. Füge eine Listbox hinzu: Ziehe eine Listbox aus der Toolbox auf dein UserForm.

  4. Füge den folgenden Code in das UserForm ein:

    Private Sub UserForm_Activate()
       Dim lLetzte As Long
       Application.ScreenUpdating = False
       With Worksheets("Artikel")
           lLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
           With Me.ListBox1
               .ColumnCount = 7
               .ColumnHeads = True
               .Font.Size = 10
               .RowSource = "A2:G" & lLetzte
           End With
       End With
       Application.ScreenUpdating = True
    End Sub
  5. Führe das UserForm aus: Drücke F5 oder klicke auf Run im VBA-Editor, um das UserForm zu testen.


Häufige Fehler und Lösungen

  1. Fehler: Listbox zeigt keine Daten an

    • Lösung: Stelle sicher, dass die RowSource korrekt gesetzt ist und dass die Daten in den angegebenen Zellen vorhanden sind.
  2. Fehler: Spaltenüberschriften werden nicht angezeigt

    • Lösung: Überprüfe, ob die ColumnHeads-Eigenschaft auf True gesetzt ist.
  3. Fehler: Listbox zeigt nur eine Spalte

    • Lösung: Überprüfe, ob die ColumnCount-Eigenschaft korrekt auf 7 gesetzt ist.

Alternative Methoden

Du kannst auch eine andere Methode verwenden, um Daten in eine Listbox zu laden:

  1. Manuelles Hinzufügen von Items: Wenn du die Daten manuell hinzufügen möchtest, kannst du die AddItem-Methode verwenden. Hier ein Beispiel:

    Private Sub UserForm_Activate()
       Dim letztezeile As Long
       Dim I As Long
       Dim Listentext As String
       With Worksheets("Artikel")
           letztezeile = .Cells(Rows.Count, 1).End(xlUp).Row
           For I = 2 To letztezeile
               If .Cells(I, 1) = "" Then Exit For
               Listentext = .Cells(I, 1) & "   " & .Cells(I, 2) & "   " & .Cells(I, 3) & "   " & _
                            .Cells(I, 4) & "   " & .Cells(I, 5) & "   " & .Cells(I, 6) & "   " & _
                            .Cells(I, 7)
               UserForm1.ListBox1.AddItem Listentext
           Next I
       End With
    End Sub

Praktische Beispiele

Hier sind einige Beispiele, wie du die Listbox erweitern kannst:

  • Daten mit Überschriften: Wenn die erste Zeile deiner Tabelle Überschriften enthält, kannst du diese in der Listbox anzeigen, indem du die RowSource-Eigenschaft wie gezeigt verwendest.

  • Dynamische Datenquelle: Setze die RowSource-Eigenschaft dynamisch, um die Listbox automatisch zu aktualisieren, wenn sich die Anzahl der Daten ändert.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Dies verbessert die Performance beim Laden großer Datenmengen in die Listbox.

  • Fehlerbehandlung einfügen: Überlege, Fehlerbehandlungsroutinen hinzuzufügen, um sicherzustellen, dass dein Code auch bei unerwarteten Eingaben stabil läuft.

  • Gestalte die Listbox ansprechend: Spiele mit den Eigenschaften wie Font.Size und ColumnWidths, um die Listbox optisch ansprechend zu gestalten.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Listbox automatisch aktualisieren, wenn sich die Daten ändern?
Antwort: Setze die RowSource-Eigenschaft des Listbox-Elements neu, wenn sich die Daten ändern, um die Listbox zu aktualisieren.

2. Frage
Kann ich mehr als 7 Spalten in einer Listbox anzeigen?
Antwort: Ja, du kannst die ColumnCount-Eigenschaft auf die gewünschte Anzahl von Spalten setzen, solange deine Daten entsprechend in den Zellen vorhanden sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige