12

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

问题是我在 Mac 上,在这种情况下不知道如何使用 F8。谁能告诉我我该怎么做?我怎么知道哪一行导致执行问题?

4

3 回答 3

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

为此,您必须像我在上面所做的那样对代码行进行编号。运行上面的代码,看看会发生什么。

于 2013-05-06T13:24:47.703 回答
8
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

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

于 2013-05-06T21:32:05.683 回答
4
  1. 右键单击工具栏。
  2. 选择“自定义...”
  3. 选择“调试”
  4. 将“步入”拖到您的工具栏中。
于 2013-05-06T12:17:07.320 回答