Diese Alternative für die ganze Code im Userform reicht schon:
Benützte F8 zum lesen.
Code:
Dim sn
Private Sub UserForm_Initialize()
sn = Tabelle1.Cells(1).CurrentRegion
M_snb 1, gruppe
End Sub
Private Sub gruppe_Change()
If gruppe.ListIndex > -1 Then M_snb 2, produktliste
End Sub
Private Sub produktliste_Click()
If produktliste.ListIndex > -1 Then M_snb 3, Produktliste2
End Sub
Private Sub produktliste2_Click()
If Produktliste2.ListIndex > -1 Then M_snb 4, durchgang
End Sub
Private Sub durchgang_change()
If durchgang.ListIndex > -1 Then M_snb 5, hoehe
End Sub
Sub M_snb(y, it)
c00 = gruppe & produktliste & Produktliste2 & durchgang
For j = 2 To UBound(sn)
c01 = sn(j, 1) & IIf(y > 2, sn(j, 2), "") & IIf(y > 3, sn(j, 3), "") & IIf(y > 4, sn(j, 4), "")
If (c00 = c01 Or y = 1) And InStr(c02, sn(j, y)) = 0 Then c02 = c02 & Chr(0) & sn(j, y)
Next
it.List = Split(Mid(c02, 2), Chr(0))
End Sub
Benützte F8 zum lesen.