繁体   English   中英

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

[英]How do I return an array from a vba function in Excel?

我想从vba函数返回未知大小的数组。 我对vba经验不足。

我在这个问题上进行了搜索,并找到了以下页面: 从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

因此,我键入Alt+F11 ,创建了一个新模块并输入了此功能。 然后,在工作簿中,我创建了一个新工作表,在单元格中键入=Test()并按Ctrl+Shift+Enter ,并且在单个单元格中出现了1

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

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

第一高光A1D3 然后输入:

=Test()

作为数组公式

在此处输入图片说明

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM