Проблема с соответствующими значениями комбинированного списка в VBA? - PullRequest
0 голосов
/ 09 октября 2018

Мой код работает не так, как мне нравится.Я хочу, чтобы значения в выпадающем списке появлялись после того, как я выбрал другое значение в выпадающем списке.Например:

Private Sub ComboBox1_change()
Dim ultimaLin As Long, area As New Collection
Dim Value As Variant, temp() As Variant
Dim lin As Integer




On Error Resume Next
'A linha abaixo identifica a última linha'
ultimaLin = Sheets("Produtos").Range("A" & Rows.Count).End(xlUp).Row
'A linha abaixo refere-se a coluna que contém os dados da lista'
temp = Sheets("Produtos").Range("B2:B" & ultimaLin).Value
For Each Value In temp
If Len(Value) > 0 Then area.Add Value, CStr(Value)
Next Value
For Each Value In area

'Adicionando item ao ComboBox'

userform2.ComboBox1.AddItem Value
Next Value
Set area = Nothing

lin = 2
With Sheets("Produtos")
Do Until .Range("B" & lin).Value = ""
    If .Range("B" & lin).Value = userform2.ComboBox1.Text Then
         userform2.ComboBox2.AddItem .Range("A" & lin).Value

    End If
    lin = lin + 1
Loop
End With


userform2.Show
End Sub

Я делаю этот код для первого комбинированного списка, а я делаю его для второго:

Private Sub ComboBox1_change()
ComboBox2.Clear
Set sht = ThisWorkbook.Worksheets("Produtos")
  ultimaLin = sht.Cells.Find("*", searchorder:=xlByRows, 
searchdirection:=xlPrevious).Row


With Worksheets("Produtos").Range("b2:b" & ultimaLin)

    If ComboBox1.Value = vbNullString Then
       pesquisado = "*"
      Else
       pesquisado = ComboBox1.Value
    End If


    Set c = .Find("*" & pesquisado & "*", LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do



            ComboBox2.AddItem Cells(c.Row, 1).Value



            Set c = .FindNext(c)


        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If

End With


End Sub

Но когда я изменяю значение комбинированного списка 1, ничегоэто происходит в выпадающем списке2.Важно сказать, что первый код был в модуле, а второй - в коде пользовательской формы.

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