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