Excel 整数平方和溢出误差
我正在尝试用VBA求平方和 当I=182和sum=1992991时,我得到一个溢出错误 我希望把sum声明为long可以处理大量的数据Excel 整数平方和溢出误差,excel,vba,Excel,Vba,我正在尝试用VBA求平方和 当I=182和sum=1992991时,我得到一个溢出错误 我希望把sum声明为long可以处理大量的数据 次自然数() 作为整数的Dim i 点心只要 总和=0 对于i=1到1000 总和=总和+(i*i) 范围(“A”&i)=i 范围(“D”&i)=总和 下一个 MsgBox“Sum is”和Sum 端接头 a整数不能容纳大于32767的数字-请改用Long。当i=182时,使用整数i*i没有好处,因为前面已经提到182*182超出了整数的可能范围。VBA知道i是
次自然数()
作为整数的Dim i
点心只要
总和=0
对于i=1到1000
总和=总和+(i*i)
范围(“A”&i)=i
范围(“D”&i)=总和
下一个
MsgBox“Sum is”和Sum
端接头
a整数
不能容纳大于32767的数字-请改用Long
。当i=182
时,使用整数
i*i
没有好处,因为前面已经提到182*182
超出了整数
的可能范围。VBA知道i
是一个整数,所以当计算i*i
时,它期望结果是一个整数,因此,如果结果大于整数所能容纳的值,则会出现错误。如果将i
乘以182
的值,它仍然会将其计算为整数
——但是如果i
(值为184的整数
)乘以lng
(值为184的长
)然后VBA将操作评估为Long
,因为它希望结果可能大于整数所能处理的值。这没什么奇怪的。简而言之,只需使用Long
即可。好的,非常感谢。这似乎有道理。VBA假设i*i也应该是一个整数。因此出现了溢出错误。谢谢你的回复!!!