Ich stehe derzeit vor dem Problem, dass mein VBA-Programm nicht so funktioniert, wie ich es mir wünsche. Ich habe zwischen 2- x Materialien in 'List_Mat' (Material 100520, 100620, 100658, ...) (unbegrenzte Anzahl von Materialien). Diese Materialien sind die Rohstoffe von Produkten, von denen einige Informationen in der Listbox 'List_Into' angezeigt werden sollen - ein Rohstoff kann für mehrere Produkte verwendet werden und daher sollen bei der Auswahl eines Rohstoffs mehrere Materialien in 'List_Into' aufgelistet werden. Die Materialnummern sind in der Tabelle "Stammdaten" in der Spalte K gespeichert. Nun möchte ich einen der Rohstoffe in der Listbox 'List_Mat' anklicken und dann sollen alle Produkte, die auf dem ausgewählten Rohstoff basieren, in der Listbox 'List_Mat' angezeigt werden.
Dim x As Variant
Dim List1Auswahl As String
Dim z As Variant
Dim y As Variant
List1Auswahl = UserForm1.List_Mat.List(List_Mat.ListIndex)
z = ThisWorkbook.Worksheets("Stammdaten").Columns("K:K").Find(List1Auswahl, LookIn:=xlValues).Row
y = z
Do
y = y + 2
Loop While ThisWorkbook.Worksheets("Stammdaten").Cells(y, 2) = "" And Not ThisWorkbook.Worksheets("Stammdaten").Cells(y, 5) = ""
For x = z To y
If ThisWorkbook.Worksheets("Stammdaten").Cells(x, 3) <> "" Then
With UserForm1.List_Into
.ColumnCount = 4
.ColumnWidths = "100;100;100;100"
.AddItem
.List(List_Into.ListCount - 1, 0) = Sheets("Stammdaten").Cells(x, 1)
.List(List_Into.ListCount - 1, 1) = Sheets("Stammdaten").Cells(x, 2)
.List(List_Into.ListCount - 1, 2) = Sheets("Stammdaten").Cells(x, 5)
.List(List_Into.ListCount - 1, 3) = Sheets("Stammdaten").Cells(x, 4)
'.AddItem ThisWorkbook.Worksheets("Stammdaten").Cells(x, 3).Value
End With
End If
Next x
Vielen Dank und viele Grüße
|