Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 整数平方和溢出误差_Excel_Vba - Fatal编程技术网

Excel 整数平方和溢出误差

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是

我正在尝试用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
是一个整数,所以当计算
i*i
时,它期望结果是一个整数,因此,如果结果大于整数所能容纳的值,则会出现错误。如果将
i
乘以
182
的值,它仍然会将其计算为
整数
——但是如果
i
(值为184的
整数
)乘以
lng
(值为184的
)然后VBA将操作评估为
Long
,因为它希望结果可能大于
整数所能处理的值。这没什么奇怪的。简而言之,只需使用
Long
即可。好的,非常感谢。这似乎有道理。VBA假设i*i也应该是一个整数。因此出现了溢出错误。谢谢你的回复!!!