从 VBA 中的函数返回数组
Iqra Hasnain
2022年7月18日
VBA 是一种专有的中间语言。VBA 的全称是 Visual Basic for Applications,是一种基于微软开发的高级编程语言。
我们可以在不同的应用程序中使用 VBA,例如 Access、Excel、Word、Outlook 和 PowerPoint。
本文将通过示例介绍如何从 VBA 中的函数返回数组。
从 VBA 中的函数返回数组
在许多情况下,我们可能希望从 VBA 中的函数返回一个数组。从函数返回数组的语法如下所示。
# VBA
Function arrayData() As Variant
End Function
我们将函数声明为 Variant 数组,因为它使用起来更舒服。让我们通过一个示例,尝试在函数内创建一个数组,并使用 VBA 中的 sub
返回它,如下所示。
# VBA
Function arrayData() As Variant
Dim myArray As Variant
ReDim myArray(1 To 2, 1 To 3)
myArray(1, 1) = "Name"
myArray(1, 2) = "Iqra"
myArray(1, 3) = "Hasnain"
myArray(2, 1) = "Name"
myArray(2, 2) = "Ben"
myArray(2, 3) = "Stoke"
arrayData = myArray
End Function
Sub test()
Dim arr As Variant
arr = arrayData()
MsgBox arr(1, 2)
End Sub
输出:
从上面的示例中可以看出,我们可以使用 VBA 中的函数轻松地返回一个数组,并将数组用作 Variant。但是当我们在子过程中获取数组并使用 MsgBox
显示它时,它将是我们从函数返回的数组的引用,而不是实际数组。
因此,如果我们尝试更改数组,我们也会更改从函数中获得的数组的引用。但如果目的只是使用函数返回数组,我们可以这样做。