Значение списка фильтров на основе выбора ComboBox excel vba - PullRequest
0 голосов
/ 06 марта 2020

Я хочу написать код для фильтрации значения списка в зависимости от выбора comboBox. Я беру значение combobox динамически с листа.

    Private Sub ComboBox1_Change()
    With datasheet.Range("A1").CurrentRegion
    .AutoFilter
    .AutoFilter Field:=5, Criteria1:=Me.ComboBox1.Value
    End With
    End Sub

    Private Sub UserForm_Initialize()

    'ComboBox1 Value from other sheet:

    ComboBox1.Clear
    Dim v2, e2
    With Productsheet.Range("A2:A100")
        v2 = .Value
    End With
    With CreateObject("scripting.dictionary")
        .comparemode = 1
        For Each e2 In v2
            If Not .exists(e2) Then .add e2, Nothing
        Next
        If .Count Then Me.ComboBox1.List = Application.Transpose(.keys)
    End With

В зависимости от выбора в выпадающем списке, я хочу показать отфильтрованные уникальные значения и показать его в поле списка (код уникального списка указан ниже)

'datasheet.Range("A1").AutoFilter Field:=5, Criteria1:=ComboBox1.Value (not working)
'datasheet.Range("A1").AutoFilter Field:=5, Criteria1:="Product ID 5" (working but need dynamic based on comboBox1 selection)

Dim v, e
With datasheet.Range("B2:B1000").SpecialCells(xlCellTypeVisible)
    v = .Value
End With
With CreateObject("scripting.dictionary")

    .comparemode = 1
    For Each e In v
        If Not .exists(e) Then .add e, Nothing
    Next
    If .Count Then Me.ListBox1.List = Application.Transpose(.keys)
End With
End Sub

TIA

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