从 VBA 中的函数返回数组

Iqra Hasnain 2022年7月18日
从 VBA 中的函数返回数组

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 输出中返回数组函数

从上面的示例中可以看出,我们可以使用 VBA 中的函数轻松地返回一个数组,并将数组用作 Variant。但是当我们在子过程中获取数组并使用 MsgBox 显示它时,它将是我们从函数返回的数组的引用,而不是实际数组。

因此,如果我们尝试更改数组,我们也会更改从函数中获得的数组的引用。但如果目的只是使用函数返回数组,我们可以这样做。

相关文章 - VBA Array