我试图让我的 VBA 子例程运行一个创建数组的函数,然后将该数组传递给另一个函数,该函数进一步处理这些数组项。我制作了一个非常简单的示例,其功能与我的实际代码完全相同。如下:
Sub SubRoutine()
ProcessArray CreateArray
End Sub
Function ProcessArray(Arr() As Variant) As Variant
End Function
Function CreateArray() As Variant
Dim Array1(1 To 4) As Variant
CreateArray = Array1
End Function
只是这两个函数和调用这两个函数的子程序。编译器拒绝编译我的代码并向我解释:
编译错误:
类型不匹配:需要数组或用户定义类型
我只能说一切都是相同的数据类型,传递的参数确实是一个数组。以防万一您想知道,是的,我尝试过使用已分配数据的数组。
我知道我在 VBA 语法中缺少一些微妙的东西,但我还没有看到这样的例子。任何见解将不胜感激。