Cita:  
					Iniciado por pkj  
  Concuerdo con Erbuson en que no se tiene muy claro que intentas hacer en ese código.
Según tu texto (y en contra de lo que parece querer tu codigo) se me hace que intentas algo como esto:    
Código vb:
Ver original- Dim X As Long, I As Long, REINICIAR As Integer 
-   
-   REINICIAR = 1 
-   Do Until REINICIAR = 0 
-     REINICIAR = 0 
-     For I = 1 To List1.ListCount - 2 
-       For X = I + 1 To List1.ListCount - 1 
-         If List1.List(I) = List1.List(X) Then ' SI TIENEN EL MISMO CODIGO SE SUMAN 
-           List2.List(I) = Val(List2.List(I)) + Val(List2.List(X)) 
-           List3.List(I) = Val(List3.List(I)) + Val(List3.List(X)) 
-           List4.List(I) = Val(List4.List(I)) + Val(List4.List(X)) 
-           List5.List(I) = Val(List5.List(I)) + Val(List5.List(X)) 
-                                                                                                          
-           List1.RemoveItem X 
-           List2.RemoveItem X 
-           List3.RemoveItem X 
-           List4.RemoveItem X 
-           List5.RemoveItem X 
-           REINICIAR = 1 
-           Exit For  
-         End If 
-       Next X 
-       If REINICIAR = 1 Then Exit For 
-     Next I 
-   Loop 
El como se sumen ya tu lo verás. Eso del Round y tal... 
Saludos
   y si hay mas registros iguales' porejemplo en un list con 100000 registros 6255 son iguales? 

 gracias 
mira mi codigo:   
Código vb:
Ver original- For I = 0 To List1.ListCount - 2 
-    if I >= List1.ListCount Then Exit For    le tuve que poner esa condicion porque sino al quitar los campos repetidos el for sigue de largo y me tira error, aunque en teoria no deveria si el for esta en 9 y listcount en 9 o 10 deberia salirse!!  
-                 List1.ListIndex = I 
-             P = List1.ListIndex 
-              
-       For X = 0 To List1.ListCount - 2 
-       'If X >= List1.ListCount Then Exit For 
-             If eli = True Then 
-             X = X - 1 
-             eli = False 
-             End If 
-              
-             List1.ListIndex = X 
-                      If List1.ListIndex = P Then GoTo sig 
-         If List1.List(I) = List1.List(X) Then ' SI TIENEN EL MISMO CODIGO SE SUMAN 
-   
-                                                                                                          
-                         uni = uni + Int(Val(List5.List(X))) 
-                         peso = Round(peso, 2) + Round(Val(List3.List(X)), 2) 
-                         neto = neto + Round(Val(List4.List(X))) 
-                                                                                                          
-           List1.RemoveItem X 
-           List2.RemoveItem X 
-           List3.RemoveItem X 
-           List4.RemoveItem X 
-           List5.RemoveItem X 
-            
-           eli = True 
-           REINICIAR = 1 
-             est = True 
-           'Exit For 
-            
-         End If 
- sig: 
-       Next X 
-      ' If REINICIAR = 1 Then Exit For 
-     Next I 
-   Loop 
que opinas? como lo podria mejorar? 
gracias ;) 
edito----
no funciona con muchos registros u.u