我经常看到Overflow与vba错误有关的问题.
我的问题是为什么使用integer变量声明而不是仅仅定义所有数值变量(不包括double等)long?
除非您正在执行类似for循环的操作,您可以保证该值不会超过32,767的限制,否则是否会对性能产生影响或其他会导致不使用long?
我见过很多人相信以下内容
VBA将所有整数值转换为Long类型
事实上,即使是MSDN文章也说
"但是,在最近的版本中,VBA将所有整数值转换为Long类型,即使它们被声明为Integer类型."

这怎么可能?考虑这个简单的例子.
Sub Sample()
Dim I As Integer
I = 123456789
End Sub
Run Code Online (Sandbox Code Playgroud)
如果VBA将所有Integer值转换为类型,Long 即使它们被声明为Integer类型,那么上面的代码永远不会给你Overflow错误!
我在这里错过了什么?或者,我是否应该认为该陈述是错误的并且在开头时注意到该链接所说的内容