Arrays VBA应用程序。数组索引导致类型不匹配错误13

Arrays VBA应用程序。数组索引导致类型不匹配错误13,arrays,vba,function,excel,type-mismatch,Arrays,Vba,Function,Excel,Type Mismatch,我的宏在使用时引发类型不匹配错误 Myarr= Application.Index(arr,0,1) 我尝试过添加optionexplicit并将变量定义为变量,但似乎没有任何效果 arr数组是从CSV文件创建的,包含100000行和11列当我在“监视”窗口中检查时,arr看起来很好(我可以看到每行和每列的值) 代码如下: Sub ArrTest() Dim Myarr Dim Arr Dim wb As Workbook Set wb = Workboo

我的宏在使用时引发类型不匹配错误

Myarr= Application.Index(arr,0,1)
我尝试过添加optionexplicit并将变量定义为变量,但似乎没有任何效果

arr
数组是从CSV文件创建的,包含100000行和11列
当我在“监视”窗口中检查时,
arr
看起来很好(我可以看到每行和每列的值)

代码如下:

Sub ArrTest()
    Dim Myarr 
    Dim Arr 
    Dim wb As Workbook 
    Set wb = Workbooks.Open("F:\People.csv")
    Arr = wb.Sheets(1).Range("A1").CurrentRegion.Value
    Myarr = Application.Index(Arr, 0, 2)
End Sub

有人能指出我做错了什么吗?

许多工作表函数在输入数组的上限上有超过65k左右的限制,因此您可能遇到了这个问题。适用于我的65k行,失败的66k行

Sub ArrTest()
    Dim Myarr
    Dim Arr

    Arr = Range("a1:C65000").Value
    Myarr = Application.Index(Arr, 0, 1) '<<< OK

    Arr = Range("a1:C66000").Value
    Myarr = Application.Index(Arr, 0, 1) '<<<fails

End Sub
Sub-ArrTest()
暗迈尔
暗淡的边缘
Arr=范围(“a1:C65000”)。值

Myarr=Application.Index(Arr,0,1)'谢谢你,蒂姆!这就解决了问题。阵列的大小是问题所在。