运行时错误 6 溢出
不正确的代码
Sub DoSomething()
Dim row As Integer
For row = 1 To 100000
'do stuff
Next
End Sub
为什么这不起作用?
Integer
数据类型是一个 16 位有符号整数,最大值为 32,767; 将其分配给大于该值的任何内容都会溢出该类型并引发此错误。
正确的代码
Sub DoSomething()
Dim row As Long
For row = 1 To 100000
'do stuff
Next
End Sub
为什么这样做?
通过使用 Long
(32 位)整数,我们现在可以创建一个迭代超过 32,767 次的循环,而不会溢出计数器变量的类型。
其他说明
有关更多信息,请参阅数据类型和限制 。