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)'谢谢你,蒂姆!这就解决了问题。阵列的大小是问题所在。