溢出计算VBA

问题描述:

一个常量时,该声明引起VBA溢出:溢出计算VBA

Const OVERFLOWS As Long = 10 * 60 * 60 

而直接设置值是罚款:

Const COMPILES_OK As Long = 36000 

你如何说服VBA对待字面整数作为多头?

感谢

添加long后缀&到至少一个数字:

Const OVERFLOWS As Long = 10& * 60 * 60 

注意使用CLNG函数的值转换为long将无法​​正常工作,因为VBA不允许分配函数返回一个常量。

+0

谢谢。今天之前我从来没有用过。你生活和学习.. – 2008-11-04 11:54:21

类型字符也可以附加到文字上:Const OVERFLOWS As Long =(10 & * 60 * 60) (实际上因为VBA引擎评估表达式的缘故,其中一个是足够的)。

http://support.microsoft.com/kb/191713是VBA/VB4-6中可用的类型声明字符的一个很好的总结。

对于那些谁找到&符号有点深奥,另一种是使用一个数字转换为长

Const OVERFLOWS As Long = CLNG(10) * 60 * 60 

的CLNG功能,那么你可以做类似的事情了单不断

Const OVERFLOWS As Single = CSNG(10) * 60 * 60