Problema con rutina

Hola Denciso, tengo una rutina en Visual basic conla cual en un form agrego nombres a una listbox teniendo como origen un archivo de excel. Pero aveces algunos nombres están repetidos; así que buscaba una rutina que elimine los duplicados del listbox y conseguí la siguiente:
Public Sub Duplicados(listbox As listbox)
Dim Search1 As Long
Dim Search2 As Long
Dim KillDupe As Long
KillDupe = 0
For Search1& = 0 To listbox.ListCount - 1
For Search2& = Search1& + 1 To listbox.ListCount - 1
KillDupe = KillDupe + 1
If listbox.List(Search1&) = listbox.List(Search2&) Then
listbox.RemoveItem Search2&
Search2& = Search2& - 1
End If
Next Search2&
Next Search1&
End Sub
El problema es que funciona siempre y cuando el número de valores en la listbox sea pequeño (4 o 5)pero si es de 10 o más la rutina no funciona y hasta ahora no encuentro el porque; espero me ayudes.
Gracias.
David

1 Respuesta

Respuesta
1
El código no deberá de ser de la forma siguiente:
Public Sub Duplicados(listbox As listbox)
Dim Search1 As Long
Dim Search2 As Long
Dim KillDupe As Long
KillDupe = 0
For Search1 = 0 To listbox.ListCount - 1
For Search2 = Search1 + 1 To listbox.ListCount - 1
KillDupe = KillDupe + 1
If listbox.List(Search1) = listbox.List(Search2) Then
listbox.RemoveItem Search2
Search2 = Search2 - 1
End If
Next Search2
Next Search1
End Sub
Hola y también quite los símbolos "&" pero el comportamiento del programa no cambió, siguió funcionando a medias; gracias de todos modos por la molestia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas