Я хочу написать код для фильтрации значения списка в зависимости от выбора 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