gpt4 book ai didi

vba - 在VBA中查找错误行号

转载 作者:行者123 更新时间:2023-12-04 13:18:52 24 4
gpt4 key购买 nike

我正在尝试查找代码崩溃的行号,但是对于我的水平,此站点上的许多解释似乎都很复杂。

我的代码基本上如下,我不知道它在哪里中断。

Sub1   
Call function1
Call function2
End Sub

该网站上的其他答案似乎只是一个简短的功能。但是我不知道在代码中的哪里调用该函数或如何获取弹出消息。如果我打算将sub1代码放入其函数中,我也不知道在哪里。初学者在这里。

最佳答案

如果您的代码没有行号,则VBA无法为您提供行号。

您可以编写VBA,并使它看起来像1980年:

Sub1
On Error GoTo 100
10 Call Function1
20 Call Function2
90 Exit Sub
100 Debug.Print Err.Message & " on line " & Erl
End Sub

但是你不想那样做。确实,您不需要行号。

您需要处理运行时错误的较小函数。
On Error GoTo ErrHandler

当发生运行时错误时,执行将跳转到名为 ErrHandler的行标签。
     ...
Exit Sub
ErrHandler: '<< the line label is denoted with a colon

该处理程序中发生了什么?如果您要调试,则可能只想在那里执行 Stop并检查您的本地设备:
    Stop

然后在下一行添加 Resume,然后按F8进入。 Resume将返回导致错误的调用。如果那是一个函数调用,那么您需要处理该函数中的运行时错误。

确保您永远不要在生产代码中留下 StopResume指令:
Sub WhenWillThisEnd()
On Error GoTo ErrHandler
Debug.Print 42/0
Exit Sub
ErrHandler:
Resume 'jumps back to the line that caused the error
Resume Next 'resumes execution on the line right after the one that went boom
End Sub

关于vba - 在VBA中查找错误行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com