VBA:将二维数组传递给集合函数
VBA: Passing a 2-D Array into a Collection Function
我正在尝试将二维数组传递给一个函数,以 return 第一列中的唯一值集合。
当我 运行 它时,我得到一个编译错误(“编译错误:参数不是可选的”)
这是我的代码块:
Function uniqueColl(ByVal arr As Variant) As Collection
Dim tempColl As New Collection
For x = 1 To UBound(arr, 2)
tempColl.Add arr(1, x)
Next x
uniqueColl() = tempColl
End Function
我试过在最后一行加上括号,没有括号并用“arr”填充括号,但是 none 这些东西似乎有效。任何提示将不胜感激。
谢谢。
这是问题的答案:
How to return a result from a VBA function
最后一行需要用一组
使用Set uniqueColl = tempColl
或者,
Function uniqueColl(ByVal arr As Variant) As Collection
Set uniqueColl = new Collection
For x = 1 To UBound(arr, 2)
uniqueColl.Add arr(1, x)
Next x
End Function
我正在尝试将二维数组传递给一个函数,以 return 第一列中的唯一值集合。
当我 运行 它时,我得到一个编译错误(“编译错误:参数不是可选的”)
这是我的代码块:
Function uniqueColl(ByVal arr As Variant) As Collection
Dim tempColl As New Collection
For x = 1 To UBound(arr, 2)
tempColl.Add arr(1, x)
Next x
uniqueColl() = tempColl
End Function
我试过在最后一行加上括号,没有括号并用“arr”填充括号,但是 none 这些东西似乎有效。任何提示将不胜感激。
谢谢。
这是问题的答案:
How to return a result from a VBA function
最后一行需要用一组
使用Set uniqueColl = tempColl
或者,
Function uniqueColl(ByVal arr As Variant) As Collection
Set uniqueColl = new Collection
For x = 1 To UBound(arr, 2)
uniqueColl.Add arr(1, x)
Next x
End Function