簡體   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