Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA溢出错误在中断模式下消失_Excel_Vba - Fatal编程技术网

Excel VBA溢出错误在中断模式下消失

Excel VBA溢出错误在中断模式下消失,excel,vba,Excel,Vba,我有以下几行代码: redim a(1 to N) for i = 1 to N a(i) = someFunction(i) Next i 当运行它时,我会看到“运行时错误6:溢出”。它进入中断模式,循环中的行:a(i)=someFunction(i)高亮显示。为了找到错误,我进入该函数并逐行检查。没有错误,它工作正常并继续运行。只要我以这种方式执行代码,保持中断模式&一次执行一个调用someFunction,它就会工作,但只要我回到正常执行状态,溢出错误就会回来 有人知道如何消除溢

我有以下几行代码:

redim a(1 to N)
for i = 1 to N
    a(i) = someFunction(i)
Next i
当运行它时,我会看到
“运行时错误6:溢出”
。它进入中断模式,循环中的行:
a(i)=someFunction(i)
高亮显示。为了找到错误,我进入该函数并逐行检查。没有错误,它工作正常并继续运行。只要我以这种方式执行代码,保持中断模式&一次执行一个调用
someFunction
,它就会工作,但只要我回到正常执行状态,溢出错误就会回来


有人知道如何消除溢出吗?

您应该提供整个函数,这样我们就可以看到您声明变量的方式


错误是由错误的变量声明引起的。您的一个或多个变量无法接受该值(例如:您将变量i声明为整数,因此它无法接受如下值:i=55000;整数的最大值约为32000到32800)。

感谢大家的帮助,我找到了问题所在。是
someFunction
中的某个东西导致了溢出,我不确定为什么它没有在中断模式下发生,但我修复了导致溢出的原因,现在它正在工作。

暂停时
a(I)
I
someFunction(I)
的值是什么?只需将鼠标光标移动到VBE中的变量名上即可。您是否正在移动行?行计数器应该声明为
Long
如果你是的,我想说的是,你可能不会得到溢出错误,因为当你调试的时候,你没有完全通过代码。salih0vicX的答案可能是问题的原因。它还可以解释为什么在调试时不再现错误,因为在找到溢出错误之前需要32767次迭代,这个神奇的数字是32767。有符号16位整数的范围为-2^15到2^15-1。