如何使用vba返回动态数组中的元素

现在想用vba写一个函数,返回值为一个维度为a*b 的数组,函数的参数就是代表维度的a和b,比如:
Funtion ub(a,b)
for i=1 to a
for j=1 to b
ub(i,j)=i*j
next j
next i
End funtion

问题是主函数中我应该如何调用这样的数组呢?比如a=3,b=4,想调用数组中的ub(1,2)
sub main
a=3
b=4
redim ub(1 to a, 1 to b)
msgbox ub(1,2)
end sub
这样做是错误的,问题是应该如何正确的声明和调用返回数组中的元素呢?

vba返回动态数组中的元素位置,参考实例如下:
Sub Macro1()
Dim arr, i As Long
arr = [{1, 2, 3}]
On Error Resume Next
i = WorksheetFunction.Match(2, arr)
If Err.Number = 0 Then
MsgBox "元素2在数组中的位置是:" & i
Else
MsgBox "数组中不存在元素2"
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-22
Sub Main()
a = 3
b = 4
ReDim Ar(1 To a, 1 To b)
Call ub(Ar)
MsgBox Ar(1, 2)
End Sub

Function ub(ByRef Arr)
For i = LBound(Arr) To UBound(Arr)
For j = LBound(Arr, 2) To UBound(Arr, 2)
Arr(i, j) = i * j
Next j
Next i
End Function本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网