无法弄清楚下面的代码有什么问题。我创建的Dictionary包含一个键(名为“SMTH”),该键包含一个项目(包含三个整数的数组)。现在我希望它将此数组发送到Sub过程,计算并返回。
Dim SMTH As String
Dim d
Dim Myarray
SMTH = "SMTH"
Myarray = Array(10, 20, 30)
Set d = CreateObject("Scripting.Dictionary")
d.Add SMTH, Myarray
Call countSub(Myarray) 'here is mistake I can't fix
Debug.Print Myarray(0), Myarray(1), Myarray(2)
End Sub
Sub countSub(Arr() As Variant)
For N = LBound(Arr) To UBound(Arr)
Arr(N) = N * 10
Next N
End Sub
类型不匹配错误...
我会感激任何帮助!
这是我的错字,对不起。还有一个错误
—
安德烈
它必须
—
斯科特克拉纳2017年
Dim Myarray()
不是Dim Myarray
非常感谢你!我如何将你的评论标记为答案?
—
安德烈
不匹配
—
罗恩·罗森菲尔德
Myarray
在调用sub和Arr()
Sub参数列表之间。除了@ScottCraner所写的内容之外,你还可以Arr()
改为Arr
。它将然后,用工作Myarray
或Myarray()
Dim Myarray() As Variant
到第一个子中的声明。