2013-05-06 216 views
10

我想调试我写的长代码,我需要逐行逐行。如何检查哪一行的VBA代码导致错误

事情是我在Mac上,不知道如何在这种情况下使用F8。任何人都可以告诉我,我该怎么做,否则我怎么知道哪一行导致执行问题?

+1

看到这:http://answers.microsoft.com/en-us/office/forum/officeversion_other-customize/using-office-for-mac-2011-is-there-a-macro-step/604a4eb6- 473d-4fff-96a2-434e6c9b4ffe – 2013-05-06 12:20:31

回答

3
  1. 右键单击工具栏。
  2. 选择 “自定义...”
  3. 选择 “调试”
  4. 将 “进入” 到您的工具栏。
9

要检查哪条线向您提供错误,您可以使用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 

为了这个工作,你将不得不按照上面的方法对代码行编号。运行上面的代码,看看会发生什么。

5
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 

当你到达停止,然后步入两次。如果你没有F8,你应该有一个菜单项以便进入一行。简历会将您带回导致错误的行。

+0

实际上,**错误**后,** Resume **会将您带到**线。 – Peter 2017-11-27 18:47:46