Dim ar, i cbx_OrderSuppl.Clear If cbx_NameMedicOrder.Value = "" Then Exit Sub ar = Range("Главная_tb") For i = 1 To UBound(ar) If ar(i, 3) = "Остатки по договору" Then If ar(i, 2) = cbx_NameMedicOrder.Value Then If ar(i, 21) > 0 Then cbx_OrderSuppl.AddItem ar(i, 5) End If End If End If Next i
[/vba]
Подскажите, пожалуйста, как сделать так, что бы него выгружались только уникальные значения без повторов?
Добрый день! У меня есть combobox c кодом [vba]
Код
Dim ar, i cbx_OrderSuppl.Clear If cbx_NameMedicOrder.Value = "" Then Exit Sub ar = Range("Главная_tb") For i = 1 To UBound(ar) If ar(i, 3) = "Остатки по договору" Then If ar(i, 2) = cbx_NameMedicOrder.Value Then If ar(i, 21) > 0 Then cbx_OrderSuppl.AddItem ar(i, 5) End If End If End If Next i
[/vba]
Подскажите, пожалуйста, как сделать так, что бы него выгружались только уникальные значения без повторов?AVI
Dim arr, i arr = Range("Главная_tb") With CreateObject("Scripting.Dictionary") For i = LBound(arr) To UBound(arr) If arr(i, 3) = "Остатки по договору" Then If arr(i, 2) = cbx_NameMedicOrder.Value Then If arr(i, 21) > 0 Then .Item(arr(i, 5)) = 1 End If End If End If Next i cbx_OrderSuppl.List = .Keys End With
[/vba]
Сам догадался [vba]
Код
Dim arr, i arr = Range("Главная_tb") With CreateObject("Scripting.Dictionary") For i = LBound(arr) To UBound(arr) If arr(i, 3) = "Остатки по договору" Then If arr(i, 2) = cbx_NameMedicOrder.Value Then If arr(i, 21) > 0 Then .Item(arr(i, 5)) = 1 End If End If End If Next i cbx_OrderSuppl.List = .Keys End With