如何从Excel中的vba函数返回数组?

时间:2015-10-24 12:05:03

标签: excel vba excel-2016

我想从vba函数返回一个未知大小的数组。我对vba没什么经验。

我用Google搜索了这个问题并找到了这个页面:Returning Arrays From VBA User Defined Functions

它为将返回数组的函数提供以下示例:

Function Test() As Variant
    Dim V() As Variant
    Dim N As Long
    Dim R As Long
    Dim C As Long
    ReDim V(1 To 3, 1 To 4)
    For R = 1 To 3
        For C = 1 To 4
            N = N + 1
            V(R, C) = N
        Next C
    Next R
    Test = V
End Function

所以我键入了Alt+F11,创建了一个新模块并输入了这个函数。然后,在我的工作簿中,我创建了一个新工作表,在单元格中键入=Test()并点击Ctrl+Shift+Enter,并在单个单元格中显示1

我做错了什么?根据网站,这个输出应该是

  

包含3行4列的数组,其中包含1的整数   到12岁。

1 个答案:

答案 0 :(得分:2)

首先亮 A1 D3 。然后输入:

=Test()

作为数组公式

enter image description here

必须使用 Ctrl + Shift + 输入输入

数组公式,而不仅仅是 Enter key。