如何检查哪一行VBA代码导致错误

sei*_*gna 11 debugging vba excel-vba-mac

我正在尝试调试我编写的长代码,我需要逐行执行.

问题是我在Mac上,并且在这种情况下不知道如何使用F8.谁能告诉我怎么能这样做呢?我怎么知道哪条线导致执行问题?

Sid*_*out 11

要检查哪条线路给您错误,您可以使用该ERL属性.请参阅下面的示例代码.

Sub sample()
Dim i As Long

On Error GoTo Whoa

10    Debug.Print "A"
20    Debug.Print "B"
30    i = "Sid"
40    Debug.Print "A"

50    Exit Sub
Whoa:
    MsgBox "Error on Line : " & Erl
End Sub
Run Code Online (Sandbox Code Playgroud)

为此,您必须按照上面的操作对代码行进行编号.运行上面的代码,看看会发生什么.


Dic*_*ika 6

Sub Main()

    Dim lNum As Long

    On Error GoTo ErrHandler

    lNum = 1 / 0

ErrExit:
    Exit Sub

ErrHandler:
    Debug.Print Err.Description
    Stop
    Resume

End Sub
Run Code Online (Sandbox Code Playgroud)

当你到达Stop,然后Step Into两次.如果你没有F8,你应该有一个菜单项来踩到一条线.Resume会将您带回导致错误的行.


小智 4

  1. 右键单击工具栏。
  2. 选择“自定义...”
  3. 选择“调试”
  4. 将“步入”拖到工具栏中。