【发布时间】:2016-02-16 17:05:21
【问题描述】:
我有一个接受数组的过程。因此我可以传递一个像这样的数组:
Public Sub MySub (Something as String, ByRef Arr() as Variant)
'Stuff
End Sub
Public Sub Test()
Dim Columns() As Variant
Columns = Array(1, 2, 3, 4, 5, 6)
MySub "sth", Columns
End Sub
问题是当我想像内联那样做时
MySub "sth", Array(1, 2, 3, 4, 5, 6)
或
MySub "sth", Cvar(Array(1, 2, 3, 4, 5, 6))
我收到一个编译错误,提示类型不匹配:预期为数组或用户定义类型。
如何将内联数组传递给函数?
【问题讨论】:
-
Array()函数不返回 Variant() 数组,而是返回子类型 Array 的 Variant,这就是您收到类型不匹配错误的原因。