다차원 배열 또는 중첩 배열을 다른 범위를 참조 할 수있는 Excel UDF로 전달하는 방법은 무엇입니까?VBA의 Excel UDF로 다차원 배열 전달
"ARY"로 정의 된 UDF는 VBA에서는하지만 워크 시트 기능에서 Array()가 수행하는 작업을 수행합니다.
이 날 (
= TEST1 (ARY (ARY ("A", "B"), "C"))
또는
= TEST1 (ARY (ARY 같은 시트 수식을 가질 수 있도록 A1, B1), C1) 그러나
, 내가 얻을 오류 2015 워크 시트 함수로 TEST1을 실행할 때. 내가 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