Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

ListBox füllen

Betrifft: ListBox füllen von: xtian
Geschrieben am: 15.09.2020 08:23:50

Guten Morgen zusammen,
ich benötige Hilfe beim befüllen einer ListBox. Folgender Code bringt mir den Inhalt aus der Spalte C in
die ListBox. Ich möchte jetzt aber gerne noch den Inhalt aus der Spalte B mit in der ListBox angezeigt
bekommen.

Private Sub UserForm_initialize()
    Dim Zeile As Integer
    Dim LetzteZeile As Long
        LetzteZeile = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
        For Zeile = 1 To LetzteZeile
            ListBox1.AddItem ThisWorkbook.Worksheets("Tabelle1").Cells(Zeile, 3).Value
        Next Zeile
    End Sub
Vielen Dank für eure Hilfe. Gruß
Christian

Betrifft: AW: ListBox füllen
von: MRUTOR
Geschrieben am: 15.09.2020 08:41:00

Hallo,

du musst die Listbox 2spaltig machen.

so:
Private Sub UserForm_initialize()
    Dim Zeile As Integer
    Dim LetzteZeile As Long
        LetzteZeile = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
        Listbox1.ColumnCount = 2
        Listbox1.ColumnWidths = "6cm;6cm"
        For Zeile = 1 To LetzteZeile
            Listbox1.AddItem ThisWorkbook.Worksheets("Tabelle1").Cells(Zeile, 3).Value
        Next Zeile
    End Sub

Mit den Spaltenbreiten (ColumnWidths) musst du ausprobieren, wie es am besten passt.

Gruss Tor

Betrifft: AW: ListBox füllen
von: Matthias L
Geschrieben am: 15.09.2020 08:44:16

Hi,

Du bedienst die Variable(LetzteZeile) aus: ActiveSheet
füllst die Listbox aber aus Tabelle1
willst Du das wirklich? Das kann auch mal zu Problemen führen

ansonsten kannst Du das so machen:
With ThisWorkbook.Worksheets("Tabelle1")
 ListBox1.AddItem .Cells(Zeile, 3).Value & " " & ListBox1.AddItem.Cells(Zeile, 2).Value
End With

Gruß ...

Betrifft: AW: ListBox füllen
von: xtian
Geschrieben am: 15.09.2020 09:09:10

Hallo Matthias,
vielen Dank für deine Hilfe.
Gruß
Christian

Betrifft: Korrektur
von: Matthias L
Geschrieben am: 15.09.2020 09:10:04

With ThisWorkbook.Worksheets("Tabelle1")
 ListBox1.AddItem .Cells(Zeile, 3).Value & "    " & .Cells(Zeile, 2).Value
End With
Sollest Du die Daten tatsächlich in 2 Spalten darstellen wollen
(was Du mal wieder nicht dazugeschrieben hast!)

hast Du ja bereits Vorschläge erhalten.

Betrifft: AW: ListBox füllen
von: hary
Geschrieben am: 15.09.2020 08:46:33

Moin
Private Sub UserForm_initialize()
Dim Zeile As Long, LetzteZeile As Long
  LetzteZeile = Cells(Rows.Count, 3).End(xlUp).Row
    With ListBox1
      For Zeile = 1 To LetzteZeile
        .ColumnCount = 2 '--Listbox 2spaltig
        .AddItem Worksheets("Tabelle1").Cells(Zeile, 3)
        .List(.ListCount - 1, 1) = Worksheets("Tabelle1").Cells(Zeile, 2)'--SpalteB
      Next Zeile
    End With
End Sub

Ist evtl. "Tabelle1" immer das aktive Blatt? Dann kannst du "Worksheets("Tabelle1")." weglassen.
gruss hary

Betrifft: AW: ListBox füllen
von: xtian
Geschrieben am: 15.09.2020 09:09:38

Hallo Hary,
vielen Dank für deine Hilfe.
Gruß
Christian

Betrifft: AW: ListBox füllen
von: GerdL
Geschrieben am: 15.09.2020 10:56:08

Moin
Private Sub UserForm_Activate()

    Dim Vnt1, Vnt2, Vnt3
    Dim L As Long
              
    With ThisWorkbook.Worksheets("Tabelle1")
        Vnt1 = .Range(.Cells(2, 3), .Cells(.Rows.Count, 3).End(xlUp)).Value
        Vnt2 = .Range(.Cells(2, 2), .Cells(UBound(Vnt1, 1) + 1, 2)).Value
    End With
    
    ReDim Vnt3(1 To UBound(Vnt1, 1))
    
    For L = 1 To UBound(Vnt3)
        Vnt3(L) = Vnt1(L, 1) & Space(4) & Vnt2(L, 1)
    Next
    
    ListBox1.Clear
    ListBox1.List = Vnt3

End Sub

Gruß Gerd

Betrifft: AW: ListBox füllen
von: xtian
Geschrieben am: 16.09.2020 08:38:57

Hallo Gerd,
perfekt. Vielen lieben Dank.
Gruß
Christian

Beiträge aus dem Excel-Forum zum Thema "ListBox füllen"