【发布时间】:2010-08-07 01:36:30
【问题描述】:
如何将多维数组或嵌套数组传递到允许我引用其他范围的 Excel UDF?
我有一个定义为“ARY”的 UDF,它执行 Array() 在 VBA 中的功能,但在工作表函数中。
这让我有一个像
这样的工作表公式=TEST1(ARY(ARY("A", "B"), "C"))
或
=TEST1(ARY(ARY(A1, B1), C1)
但是,将 TEST1 作为工作表函数执行时出现错误 2015。如果我从 VBA 执行 TEST1,它可以正常工作并返回“A”。
Public Function TEST1(Params As Variant) As Variant
TEST1 = Params(0)(0)
End Function
'Returns 1D ARRAY
Public Function ARY(ParamArray Params() As Variant)
ReDim result(0 To UBound(Params)) As Variant
Dim nextIndex As Integer
Dim p As Variant
nextIndex = 0
For Each p In Params
result(nextIndex) = p
nextIndex = nextIndex + 1
Next
ARY = result
End Function
【问题讨论】: