Sub with parametres(带项目的字典:数组)


0

无法弄清楚下面的代码有什么问题。我创建的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

类型不匹配错误...

我会感激任何帮助!


添加Dim Myarray() As Variant到第一个子中的声明。
Scott Craner

这是我的错字,对不起。还有一个错误
安德烈

它必须Dim Myarray()不是Dim Myarray
斯科特克拉纳2017年

非常感谢你!我如何将你的评论标记为答案?
安德烈

不匹配Myarray在调用sub和Arr()Sub参数列表之间。除了@ScottCraner所写的内容之外,你还可以Arr()改为Arr。它将然后,用工作MyarrayMyarray()
罗恩·罗森菲尔德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.