ciao,
in questo modo funziona:

List1.AddItem (text1)
stringa = (text1)
For i = 0 To List1.ListCount - 1
If stringa = List1.List(i) Then
List1.RemoveItem (i) - 1
Else
List1.AddItem stringa
End If
Next i
Se funziona allora..cmq te NON avevi chiesto questo, te avevi semplicemente chiesto di evitare di inserire un valore già presente e NO di eliminarlo in caso ci fosse..anche perchè se controlli i valori in entrata non è possibile che ci siano copie di valori, non ti sembra?

Ti conviene però fare il ciclo all'opposto, cioè da list1.listcount - 1 to 0 step -1..

ciao