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

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

我google了这个问题,发现这个页面: 从VBA用户定义函数返回数组 。

它给出了一个返回数组的函数的例子:

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 

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

我究竟做错了什么? 根据现场,这应该是输出

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

第一个高亮度光圈A1D3 。 然后input:

 =Test() 

作为一个数组公式

在这里输入图像说明

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