从VBA中的函数返回数组

时间:2016-09-04 13:53:25

标签: excel-vba vba excel

我无法解决这个问题。我只想从一个函数返回一个数组,我试过的代码如下。

Sub 
   Dim storeData As Variant: Set storeData = getData
   Debug.Print storeData(1)
End Sub

Function getData() As Variant
   Dim arr(2) As Variant
    arr(1) = "ergreg"
    arr(2) = "1005"
    getData = arr
End Function

不会抛出任何错误,但没有任何内容打印到即时窗口

2 个答案:

答案 0 :(得分:2)

如果要打印所有数组元素,需要在Debug中添加For循环:

Dim storeData As Variant
Dim i As Long
storeData = getData

For i = LBound(storeData) To UBound(storeData)
    Debug.Print storeData(i)
Next i

快速注意Dim arr(2) As Variant,表示 arr 有3个元素(从0开始),您只将值分配给第二和第三个要素。

答案 1 :(得分:-1)

我的错误 - 感谢@GSerg找到它。

只需删除'设置'。这么简单