有没有办法在VBA中加入集合? 我可以找到join(array,&#34 ;;"),但是这个函数不能应用于集合。
感谢。
答案 0 :(得分:10)
不幸的是,不,没有内置的东西。
你必须要么
将集合转换为数组(也没有内置,您必须loop through all the items),然后使用Join(array, ";")
或
加入您的收藏品"艰难的方式" (设置first
标记,循环浏览项目,添加";"如果不是first
,请清除first
,添加项目。
答案 1 :(得分:4)
这是如何加入它:
Join(CollectionToArray(colData), ",")
功能:
Public Function CollectionToArray(myCol As Collection) As Variant
Dim result As Variant
Dim cnt As Long
ReDim result(myCol.Count - 1)
For cnt = 0 To myCol.Count - 1
result(cnt) = myCol(cnt + 1)
Next cnt
CollectionToArray = result
End Function
答案 2 :(得分:2)
我需要澄清以下问题不是上述问题的答案。但是,对于到达这里想知道如何合并集合的人(发生在我身上),下面的代码会将集合(col2)的内容添加到另一个集合(col1):
Sub addColToCol(col1 As Collection, col2 As Collection)
Dim i As Integer
For i = 1 To col2.Count
col1.Add col2.Item(i)
Next i
End Sub
如果要保留每个集合的内容,请声明另一个集合。
Dim super_col As New Collection
addColToCol super_col, col1
addColToCol super_col, col2