Als Antwort auf diesen Beitrag
Hallo Chris,
auf die Schnelle und ungetestet so:
Sub FillListbox1()
Dim arrTab(), arrList(), i&, j&, k&, lz&, krit1$, krit2$
With Sheets("Rohdaten")
krit1 = Label1380.Caption
krit2 = Label450.Caption
lz = .Cells(.Rows.Count, "A").End(xlUp).Row
arrTab = .Range("A2:U" & lz).Value
End With
ReDim arrList(1 To 3, 1 To UBound(arrTab))
For i = 1 To UBound(arrTab, 1)
If arrTab(i, 1) = krit1 And arrTab(i, 4) = krit2 Then
k = k + 1
arrList(1, k) = arrTab(i, 7)
arrList(2, k) = arrTab(i, 8)
arrList(3, k) = arrTab(i, 21)
End If
Next i
ReDim Preserve arrList(1 To 3, 1 To k)
With ListBox1
.ColumnCount = 3
.ColumnWidths = "100;150;30"
.Column = arrList
End With
End Sub
Das Ausgabe-Array musst du mit vertauschten Dimensionen füllen, damit du mit Redim Preserve arbeiten kannst. Redim Preserve kann nur die letzte Dimension ändern.
In Folge dessen musst du die Listbox via .Column mit dem Ausgabe-Array füllen.
Gruß Uwe