繁体   English   中英

Excel VBA 加载范围到数组溢出错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM