如何从集合中删除当前循环的项目?我收到运行时错误13:在行wls.Remove vl上键入不匹配
Sub FocusOnH(ByRef vls As Collection)
Dim vl As CVegetableLine
For Each vl In vls
If vl.hValue <> 0 Then
vl.volume = vl.hValue
Else
vls.Remove vl
End If
Next vl
End Sub
最佳答案
Collection.Remove()
方法采用key
(如果.Add()
方法提供)或index
(默认情况下)作为参数,因此您不能将用户定义的对象作为Remove()
方法的参数来解释类型不匹配错误。
进一步了解MSDN
如果要使用“用户定义的类型”,则实际上应该使用Dictionary
集合。
要实现您想要的,请使用迭代器
dim i as long
for i = Collection.Count to 1 step -1
'Collection.Remove i
next i
关于vba - 从集合中删除当前循环播放的项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23511563/