vb 清除combox重复项问题
For j = 0 To Combo1.ListCount - 1 For i = j + 1 To Combo1.ListCount If Trim(Combo1.List(j)) = Trim(Combo1.List(i)) Then Combo1.RemoveItem (i) Next i Next j '此代码能够清除吧。可为什么我的combox里面有的清除了,有的没有呢。应该怎么修复这个问题?如图,里面还是有重复项,没有清除干净。
For j = 0 To Combo1.ListCount - 1 For i = j + 1 To Combo1.ListCount If Trim(Combo1.List(j)) = Trim(Combo1.List(i)) Then Combo1.RemoveItem (i) Next i Next j '此代码能够清除吧。可为什么我的combox里面有的清除了,有的没有呢。应该怎么修复这个问题?如图,里面还是有重复项,没有清除干净。
答案:要逆序清,因为删除掉某项后,在其之后的所有项序号要减1。修改为如下试试:
For j = 0 To Combo1.ListCount - 1
For i = Combo1.ListCount To j+1 STEP -1 ‘ 这一行改为从大到小循环
If Trim(Combo1.List(j)) = Trim(Combo1.List(i)) Then Combo1.RemoveItem (i)
Next i
Next j