0

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

我搜索了这个问题并找到了这个页面: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,然后 a1出现在一个单元格中。

我究竟做错了什么?根据该站点,此输出应为

一个 3 行 4 列的数组,包含从 1 到 12 的整数。

4

1 回答 1

2

首先高亮A1D3。然后输入:

=Test()

作为数组公式

在此处输入图像描述

数组公式必须用Ctrl++Shift输入,Enter而不仅仅是Enter键。

于 2015-10-24T12:10:50.973 回答