[英]Excel VBA load range into array overflow error
下面的代码将一个范围加载到一个数组中:
Dim Data() As Variant
Dim i As Long
Erase Data
i = 2: Do Until Sheets("whatever").Cells(i, 1) = "": i = i + 1: Loop
Sheets("whatever").Activate
Data = Sheets("whatever").Range(Cells(2, 1), Cells(i, 37)).Value
这曾经有效,但从今天开始(一些新数据?)在加载Data
数组的行中给了我运行时错误“6”/溢出。
i = 242703 这确实是我要加载的最后一行。 对于一个数组来说,这可以是两个大的吗?
如果引用的工作表有错误,将触发错误 6(溢出)。
我在一张纸上收到了这个,其中第一列是日期类型,但包含的数字对于法定日期来说太大了。 在工作表上,这些数字显示为“############.....#”(# 的数量取决于列的宽度)。 excel 错误检查功能未捕获此类错误。
这是我解决的方法:
创建新文件,在其中创建模块,然后将宏的所有文本复制到新文件的模块中。 执行此操作后, Runtime Error 6 (Overflow)
错误消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.