gpt4 book ai didi

arrays - 在VBA中将数组转换为集合的简便方法

转载 作者:行者123 更新时间:2023-12-04 03:45:13 25 4
gpt4 key购买 nike

是否有一种简单的方法来用VBA中的数组填充所有值的集合?
例如就像是

Dim c As New Collection
Dim a(10) As Variant
...
c.AddAll a

一个简单的解决方案可能会遍历数组,但是我希望现代语言可以立即提供此类方法...
Dim c As New Collection
Dim a(10) as Variant
...
For Each item in a
c.Add item
Next item

感谢您的提示!

最佳答案

“现代语言”是您的问题所在-VBA/VB6并不是真正的现代-几年来它们都没有得到很大的改进。

如果您需要做很多事情,请编写一个函数来执行循环:

Sub AddAll(ByVal c as Collection, a as Variant)
For Each item in a
c.Add item
Next item
End Sub

或者,如果您每次都想要一个新集合:
Function ToCollection(a as Variant) As Collection
Dim c As New Collection
For Each item in a
c.Add item
Next item
Set ToCollection = c
End Function

然后使用它:
Dim c As New Collection
Dim a(10) as Variant
...
AddAll c,a

或者
Dim a(10) as Variant
Dim c as Collection
...
Set c = ToCollection(a)

关于arrays - 在VBA中将数组转换为集合的简便方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com