Я пытаюсь создать комбинированный список в пользовательской форме, который возвращает все числа "Aditivo" соответствующего "Клиента" ...
Если я выберу "Клиента" 1, он должен добавить к моему комбинированному спискучисла 1,2,3 и 4 ... Если я выберу "Клиент" 3, он должен добавить к моему списку чисел 1,2,3,4 и 5 ...
![enter image description here](https://i.stack.imgur.com/CqyQr.png)
![Here you put the](https://i.stack.imgur.com/QsFy4.png)
Private Sub CommandButton2_Click()
Dim ID_CL, ID_Row, i As Integer
Dim ID_Address As String
ID_CL = 5
' Find the address of the ID_CL value
On Error GoTo Erro
ID_Address = Sheets("TAB_Aditivos").Range("A2:A16").Find(ID_CL).Address
' Get the number of row where the value is found
ID_Row = Right(ID_Address, Len(ID_Address) - 3)
UserForm1.CB_Aditivo.Enabled = True
UserForm1.CB_Aditivo.BackColor = RGB(255, 255, 255)
For i = 0 To 10000
' Check if the value above is different than ID_CL
If Sheets("TAB_Aditivos").Cells(i + ID_Row, 1) = ID_CL Then
' Find the value in column "B"
UserForm1.CB_Aditivo.AddItem (Sheets("TAB_Aditivos").Cells(i + ID_Row, 2).Text)
Else
' If it's different then set i to 10000 and stop looping
i = 10000
End If
Next i
Exit Sub
Erro:
MsgBox "Value not found!", vbCritical
End Sub
Это код, который я сделал, но есть проблема, если значения в TAB_Aditivos находятся внепорядок, тогда это не будет работать должным образом ... И я не знаю, насколько это эффективно ...