我如何 return 来自 vba 函数的数组 Excel?
How do I return an array from a vba function in Excel?
我想从 vba 函数中 return 一个大小未知的数组。我对 vba.
没有什么经验
我用谷歌搜索了这个问题并找到了这个页面:Returning Arrays From VBA User Defined Functions。
它给出了以下函数示例,该函数将 return 一个数组:
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
,新建了一个模块,进入了这个函数。然后,在我的工作簿中,我创建了一个新的 sheet,在一个单元格中键入 =Test()
并点击 Ctrl+Shift+Enter
,然后 1
出现在一个单元格中。
我做错了什么?根据该站点,此输出应为
an array with 3 rows and 4 columns that contains the integers from 1
to 12.
第一个高光 A1 到 D3。然后输入:
=Test()
作为数组公式:
数组公式必须用Ctrl + Shift + 输入Enter 而不仅仅是 Enter 键。
我想从 vba 函数中 return 一个大小未知的数组。我对 vba.
没有什么经验我用谷歌搜索了这个问题并找到了这个页面:Returning Arrays From VBA User Defined Functions。
它给出了以下函数示例,该函数将 return 一个数组:
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
,新建了一个模块,进入了这个函数。然后,在我的工作簿中,我创建了一个新的 sheet,在一个单元格中键入 =Test()
并点击 Ctrl+Shift+Enter
,然后 1
出现在一个单元格中。
我做错了什么?根据该站点,此输出应为
an array with 3 rows and 4 columns that contains the integers from 1 to 12.
第一个高光 A1 到 D3。然后输入:
=Test()
作为数组公式:
数组公式必须用Ctrl + Shift + 输入Enter 而不仅仅是 Enter 键。