从集合中删除项目
通过调用 .Remove
方法将项目从 Collection
中删除:
句法:
.Remove(index)
参数 | 描述 |
---|---|
指数 | 要从 Collection 中删除的项目。如果传递的值是数字类型或带有数字子类型的 Variant ,则它将被解释为数字索引。如果传递的值是包含字符串的 String 或 Variant ,则它将被解释为键。如果传递了 Collection 中不存在的 String 键,则会产生运行时错误 5:无效的过程调用或参数。如果传递的数字索引在 Collection 中不存在,则会产生运行时错误 9:下标超出范围。 |
笔记:
- 从
Collection
中删除项目将更改Collection
中所有项目的数字索引。使用数字索引和删除项目的For
循环应该向后运行 (Step -1
)以防止下标异常和跳过的项目。 - 通常不应该从
For Each
环中移除物品,因为它会产生不可预测的结果。
样品用法:
Public Sub Example()
Dim foo As New Collection
With foo
.Add "One"
.Add "Two", "Second"
.Add "Three"
.Add "Four"
End With
foo.Remove 1 'Removes the first item.
foo.Remove "Second" 'Removes the item with key "Second".
foo.Remove foo.Count 'Removes the last item.
Dim member As Variant
For Each member In foo
Debug.Print member 'Prints "Three"
Next
End Sub