Combobox, который возвращает все номера ID - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь создать комбинированный список в пользовательской форме, который возвращает все числа "Aditivo" соответствующего "Клиента" ...

Если я выберу "Клиента" 1, он должен добавить к моему комбинированному спискучисла 1,2,3 и 4 ... Если я выберу "Клиент" 3, он должен добавить к моему списку чисел 1,2,3,4 и 5 ...

enter image description here

Here you put the

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 находятся внепорядок, тогда это не будет работать должным образом ... И я не знаю, насколько это эффективно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...