我在某种程度上对excel VBA来说是新手,而且我会遇到一些非常简单的事情,我希望你能帮助我。
我有一个Sub(在这种情况下称为test()),我希望从我的函数ReturnArray()中获取一个数组。
但是当我尝试运行sub时,我得到的是“运行时错误'13':类型不匹配”。
先谢谢。
Function ReturnArray() As Variant
Dim Accounts As Variant
Accounts = Array(1, 2, 3, 4, 5, 6, 7, 8, 9,)
ReturnArray = Accounts
End Function
Sub test()
Dim acc() As Variant
acc = ReturnArray
Debug.Print acc
End Sub
答案 0 :(得分:1)
Dim acc() As Variant
将acc
声明为变种数组,但您要从ReturnArray
函数返回单个变体。该单个变体恰好包含一个数组。但只是一个阵列。
Dim acc As Variant
现在说,你现在要在Debug.Print acc
上得到运行时错误,因为你无法在一行上打印出整个数组。您需要遍历所有元素并一次打印一个元素。您可以使用Join
函数将所有数组元素连接在一起,将所有数组元素转换为一个字符串:Debug.Print Join(acc, ",")