2013-05-06 220 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