2

我无法通过 Google 找到答案的简单问题:

当 Excel 2010 VBA 中出现运行时错误时,如何让“调试”按钮出现在弹出窗口中?我以前见过它,但现在它不见了。

这是配置问题吗?

4

5 回答 5

2

如果您On Error Goto xxx在 VBA 中使用错误处理,那么您将看不到 Debug/Halt 对话框 - 这是设计使然,因为您需要提供自己的处理例程。

如果您使用On Error Resume Next,这也适用,只是错误被完全忽略。

如果使用设置On Error Goto 0, (默认设置,相当于不指定上述任何一个设置),那么出现错误时会看到对话框。

于 2013-01-18T21:52:43.297 回答
2

在 VB 编辑器中,转到工具\选项。General 选项卡,Error Trapping 部分,然后切换到 Break on all Errors。

于 2015-11-12T14:30:55.107 回答
1

If you are looking to debug your code, you can do that from "Microsoft Visual Basic for Applications", you can use Alt + F11 shortcut to open it from Excel.

于 2013-01-18T21:32:26.933 回答
0

如果您直接从即时窗口运行您的方法,有时会发生这种情况。

VBA 编辑器,为了显示 Debug 选项需要在某行中断代码,并且在立即窗口中的行发生错误时是不可能的。


例子:

如果您直接在即时窗口中运行以下代码:

MsgBox 1 / 0

编辑器将显示以下窗口:

直接在立即窗口中出错

但是,如果您将这行代码包装到方法中:

Sub test
    MsgBox 1 / 0
End Sub

并像这样从立即窗口调用它:

Call test

由于相同的操作,编辑器会引发错误,但运行时错误窗口将如下所示:

用包装方法

于 2016-07-15T02:20:09.100 回答
0

您可以尝试在设置中更改调试模式,这通常会有所帮助。此外,我读过报告说,如果 VBA 代码位于托管对象中,调试按钮可能会消失,因此将其移至标准模块可能会有所帮助。

于 2015-09-13T16:38:04.810 回答