Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2148|回复: 9

[已解决]VBA初学者的困惑

[复制链接]
发表于 2012-12-27 20:41 | 显示全部楼层 |阅读模式
询问.gif   
                     我要在A列中填入数字,用FOR循环并定义X为整形数X=1 to 30000,运行后显示溢出,因X并没有超出整形数范围,
感到十分困惑.上传相关图片请求帮助.
最佳答案
2012-12-30 20:42
VBA在执行乘法时,总会取最精确的乘数作为结果的数据类型。
借用高人的话。
发表于 2012-12-27 20:45 | 显示全部楼层
回复

使用道具 举报

发表于 2012-12-27 21:24 | 显示全部楼层
当在16383行时,结果为32766。再往下一个就出错了,超出了Integer 32767 的最大值的范围。不过我也搞不清楚,为什么会这样。。。
回复

使用道具 举报

发表于 2012-12-27 21:35 | 显示全部楼层
X*2就超出了嘛,换成LONG吧。
回复

使用道具 举报

发表于 2012-12-29 09:56 | 显示全部楼层
别忘了你还有x*2呢。
回复

使用道具 举报

 楼主| 发表于 2012-12-30 20:00 | 显示全部楼层
hwc2ycy 发表于 2012-12-27 21:35
X*2就超出了嘛,换成LONG吧。

再请教
    我的X定义为整形数,那么X只要不大于32767就应该不会溢出,X*2与此不相干吧?望能详细答复是祷!
回复

使用道具 举报

发表于 2012-12-30 20:02 | 显示全部楼层
这个你自己试试,凡事多动手,总能学到更多的东东。
回复

使用道具 举报

 楼主| 发表于 2012-12-30 20:05 | 显示全部楼层
hwc2ycy 发表于 2012-12-30 20:02
这个你自己试试,凡事多动手,总能学到更多的东东。

          您不能告诉我这是为什么吗?
回复

使用道具 举报

发表于 2012-12-30 20:42 | 显示全部楼层    本楼为最佳答案   
VBA在执行乘法时,总会取最精确的乘数作为结果的数据类型。
借用高人的话。
回复

使用道具 举报

 楼主| 发表于 2012-12-31 21:27 | 显示全部楼层
hwc2ycy 发表于 2012-12-30 20:42
VBA在执行乘法时,总会取最精确的乘数作为结果的数据类型。
借用高人的话。

谢谢你的帮助.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-28 20:10 , Processed in 0.979782 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表