VBA数据溢出问题

Excel2003的VBA中PrivateSubtest()DimiAsLongi=300*500MsgBoxiEndSub在运行到i=300*500这一句的时候报警数据... Excel2003的 VBA中
Private Sub test()Dim i As Longi = 300 * 500MsgBox iEnd Sub
在运行到i=300*500这一句的时候报警数据溢出,但是用i=150000*1就不会报警,哪位知道为什么啊?很奇怪的现象,用i=clng(300)*500也不报警,哪位能给个合理的解释?
展开
 我来答
Albert_芐雨
2013-12-20 · TA获得超过224个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:158万
展开全部
在计算时,VB会使用一个临时变量,因为300和500都是整型,VB将使用一个整型的临时变量,他们的乘积超过32000,就会数据溢出。150000或clng(300)都已经告诉VB把临时变量声明为Long,所以不会出错。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式