在 VBA 中计算常量时发生溢出

发布于 2024-07-08 12:22:20 字数 246 浏览 5 评论 0原文

此声明会导致 VBA 溢出:

Const OVERFLOWS As Long = 10 * 60 * 60

而直接设置值就可以了:

Const COMPILES_OK As Long = 36000

How do you suggest VBA to treatliteral integers as longs?

谢谢

This declaration causes an overflow in VBA:

Const OVERFLOWS As Long = 10 * 60 * 60

whereas setting the value directly is fine:

Const COMPILES_OK As Long = 36000

How do you persuade VBA to treat literal integers as longs?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

累赘 2024-07-15 12:22:21

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

http://support.microsoft.com/kb/191713 is a nice summary of the type declaration characters available in VBA / VB4-6.

帅的被狗咬 2024-07-15 12:22:21

对于那些发现 & 符号有点深奥,另一种方法是使用 CLNG 函数,它将数字转换为 long,

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

然后您可以对 Single 常量执行类似的操作

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

For those who find the & symbol a bit esoteric, an alternative is to use the CLNG function which converts a number to long

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

you could then do a similar thing for a Single constant

Const OVERFLOWS As Single = CSNG(10) * 60 * 60
寻找一个思念的角度 2024-07-15 12:22:21

类型字符也可以附加到文字上:Const OVERFLOWS As Long = (10& * 60 * 60)
(实际上,一个就足够了,因为 VBA 引擎计算表达式的方式)。

The type character can also be appended to literals : Const OVERFLOWS As Long = (10& * 60 * 60)
(one is suffucient actually because of the way the VBA engine evaluates the expression).

颜漓半夏 2024-07-15 12:22:20

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

Const OVERFLOWS As Long = 10& * 60 * 60

请注意,使用 CLNG 函数将值转换为 long 不起作用,因为 VBA 不允许将函数的返回值分配给常量。

Add the long suffix & to at least one number:

Const OVERFLOWS As Long = 10& * 60 * 60

Note that using the CLNG function to convert the values to long will not work, because VBA does not allow assigning the return value of a function to a constant.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文