📅  最后修改于: 2023-12-03 14:49:21.702000             🧑  作者: Mango
在 VBA 编程中,我们经常需要将多个数据项打包返回给调用方。数组是一种非常方便的数据结构,它可以存储大量的数据。本文将介绍如何从函数 VBA 返回一个数组。
声明一个函数返回数组需要使用函数名称后面跟一个括号,并在括号内指定参数列表。对于数组类型的参数,需要使用圆括号 ()
将数组的维度括起来。例如:
Function GetArray() As Integer()
Dim arr(1 To 3) As Integer
arr(1) = 10
arr(2) = 20
arr(3) = 30
GetArray = arr
End Function
上面的代码声明了一个名为 GetArray
的函数,该函数返回一个整数类型的数组。在函数内部,声明了一个名为 arr
的数组,该数组有三个元素。然后将这个数组赋给函数的返回值。
调用一个返回数组的函数很简单。只需像调用任何其他函数一样使用函数名称和所需的参数。然后将返回的数组分配给一个变量。例如:
Sub TestGetArray()
Dim res() As Integer
res = GetArray()
Debug.Print res(1) '输出 10
Debug.Print res(2) '输出 20
Debug.Print res(3) '输出 30
End Sub
上面的代码首先声明了一个名为 res
的整数数组变量,然后将调用 GetArray
函数返回的数组赋给 res
。然后可以像操作任何其他数组一样使用变量 res
中的数据。
以上例子都是返回一个一维数组。但是,在 VBA 中,也可以返回多维度的数组。例如:
Function GetMultiArray() As Integer()
Dim arr(1 To 2, 1 To 2) As Integer
arr(1, 1) = 10
arr(1, 2) = 20
arr(2, 1) = 30
arr(2, 2) = 40
GetMultiArray = arr
End Function
这个函数返回一个 2x2 的整数数组。在调用时,将返回的数组分配给一个对应的多维数组即可:
Sub TestGetMultiArray()
Dim res() As Integer
res = GetMultiArray()
Debug.Print res(1, 1) '输出 10
Debug.Print res(1, 2) '输出 20
Debug.Print res(2, 1) '输出 30
Debug.Print res(2, 2) '输出 40
End Sub
在 VBA 中从函数返回数组是一种常见的编程任务。声明一个返回数组的函数需要在函数名称后面跟一个括号,并在括号内指定参数列表。调用这个函数时,将返回的数组分配给一个变量,就可以使用该变量中的数据了。多维数组也可以返回,只需在括号内指定对应的维度即可。