堆栈空间不足(错误28)VBA

时间:2017-08-31 14:49:04

标签: vba fortran

我正在尝试将带有大量嵌套goto语句的旧Fortran程序转换为VBA,但我收到标题中提到的错误。我转换的方式是每个语句,我把它作为一个函数而不是转到然后我调用函数或语句,但显然这不是一个正确的方法。我还可以做些什么?提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您看不到无限循环的位置,请尝试在所有函数中添加公共计数器。如果超过给定值,请停止程序。然后尝试使用 F8 进行调试以查看无限循环。我的意思是这样的:

Option Explicit

Public counter  As Long

Public Sub TestMe()

    While True
        FunctionSomething
    Wend

End Sub

Public Function FunctionSomething()

    counter = counter + 1
    If counter > 100 Then Stop

End Function

现在,如果你运行TestMe,它将在第100次迭代时停止。