清除集合中的所有项目
清除 Collection
中所有物品的最简单方法是简单地用新的 Collection
替换它,让旧的物品超出范围:
Public Sub Example()
Dim foo As New Collection
With foo
.Add "One"
.Add "Two"
.Add "Three"
End With
Debug.Print foo.Count 'Prints 3
Set foo = New Collection
Debug.Print foo.Count 'Prints 0
End Sub
但是,如果对 Collection
有多个引用,则此方法仅为你分配的变量提供空的 Collection
。
Public Sub Example()
Dim foo As New Collection
Dim bar As Collection
With foo
.Add "One"
.Add "Two"
.Add "Three"
End With
Set bar = foo
Set foo = New Collection
Debug.Print foo.Count 'Prints 0
Debug.Print bar.Count 'Prints 3
End Sub
在这种情况下,清除内容的最简单方法是循环遍历 Collection
中的项目数,并重复删除最低项:
Public Sub ClearCollection(ByRef container As Collection)
Dim index As Long
For index = 1 To container.Count
container.Remove 1
Next
End Sub