关于exit for的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:24:53
请问为什么以下代码不改动就正常,但去掉exit for就会出现实时错误381?

While List1.SelCount > 0
For a = 0 To List1.ListCount - 1
If List1.Selected(a) = True Then
List2.AddItem List1.List(a)
List1.RemoveItem a
Exit For
End If
Next
Wend

我初学,请说得清楚一些。

你意图是要把list1里的数据移动到list2里,因为你不停的removeitem,所以实际上list1.listcount值是一直减少,而总有一次循环中第A个选项已经被remove了,然后你又试图执行List1.Selected(a),此时a是非法值 就报错

如果你要做简单的复制操作的话:


List1.RemoveItem a
后面加一句 a=a-1