VBA运行时错误6溢出 - 为什么会发生这种情况?

时间:2017-01-14 16:40:53

标签: excel-vba runtime-error overflow vba excel

在我对这个问题的回答中:https://math.stackexchange.com/questions/2093497/finding-number-of-coprime-tuples-from-1-to-n/2094773#2094773在Math SE上,我目前在线上遇到运行时错误:

Undertow server = Undertow.builder()
        .addHttpListener(8080, InetAddress.getLocalHost().getHostAddress())
        .setHandler(path)
        .build();

错误消息是运行时错误6溢出

P被定义为double类型的Public变量。我也在我的" modulo"中使用过p。函数,定义为double。

为什么会发生这种情况,我该怎么做才能纠正它?

我找到了一个解决方法:如果我更改了所声明的行而是:

P=599*601

然后不会发生错误。因此,为什么P = 599 * 601线会产生错误?

1 个答案:

答案 0 :(得分:0)

经过研究,我发现这个怪癖可以通过以下代码解决:

Dim Prime1 as Long
Dim Prime2 as Long
Public P as Long
...
P=Prime1 * Prime2

问题的原因可能是由于数字乘以整数而将整数类型赋值给p。