16 Октябрь 2008

Как удалить повторы в ComboBox?

Combobox |  Таги: , ,

Необходимо в ручную добавить не сколько разных элементов.
А при загрузке формы, ComboBox дополнится 10000 значениями, цифрой 1.

Option Explicit

Private Sub Command1_Click()
Dim i As Integer
Dim PrevIndex As Long 'индекс на последний не удаленный элемент
PrevIndex = Combo1.ListCount - 1
For i = Combo1.ListCount - 2 To 0 Step -1
    If Combo1.List(i) = Combo1.List(PrevIndex) Then
        Combo1.RemoveItem i 'совпадает с предыдущим, удалить
        PrevIndex = PrevIndex - 1 'После удаления элемент сместился вверх, надо обновить указатель
    Else
PrevIndex = i 'Не совпадает с предыдущим. Он станет новым предыдущим.
    End If
Next i

End Sub

Private Sub Form_Load()
Dim i As Integer
    For i = 1 To 10000
        Combo1.AddItem Format$(1)
    Next
End Sub


Оставить комментарий

Я не робот.