所以我只是简单地定义了一个测试函数:
Option Base 1
Function TestFunction(InputRange As Range)
Dim TestArray() As Variant
TestArray = InputRange
Debug.Print TestArray(5)
End Function
然后我在带有= TestFunction(A:A)的工作表上调用它,并期望看到第5行中的值打印到立即窗口。相反,我没有得到任何输出。 A的前100行左右有数据,所以我希望TestArray(5)输出一些东西。
我也尝试将上述内容更改为:
TestArray = InputRange.Value
和
TestArray = Range(InputRange)
这些似乎都不起作用。
答案 0 :(得分:3)
问题是当为数组分配范围时,无论它是一列还是一行,它都会被制成二维数组。所以所有引用都必须将其称为二维数组:
Debug.Print TestArray(5,1)