2013-05-06 25 views
10

Tôi đang cố gắng gỡ lỗi mã dài mà tôi đã viết và tôi cần phải xếp từng dòng một.Cách kiểm tra xem dòng mã VBA nào đang gây ra lỗi

Điều tôi đang ở trên máy Mac và không biết cách sử dụng F8 trong trường hợp đó. Bất cứ ai có thể cho tôi biết làm thế nào tôi có thể làm điều đó nếu không và làm thế nào để tôi biết những dòng đang gây ra vấn đề với thực hiện?

+1

Xem thông tin này: 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 –

Trả lời

3
  1. Nhấp chuột phải vào thanh công cụ.
  2. Chọn "Tùy chỉnh ..."
  3. Chọn "Gỡ lỗi"
  4. Kéo "Step Into" vào thanh công cụ của bạn.
9

Để kiểm tra xem dòng nào cho bạn lỗi, bạn có thể sử dụng thuộc tính ERL. Xem mã mẫu dưới đây.

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 

Để làm việc này, bạn sẽ phải đánh số các dòng mã như tôi đã làm ở trên. Chạy mã trên và xem điều gì xảy ra.

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 

Khi bạn dừng, sau đó chuyển sang bước hai lần. Nếu bạn không có F8, bạn nên có một mục trình đơn để bước vào một dòng. Tiếp tục sẽ đưa bạn quay lại dòng gây ra lỗi.

+0

Thực ra, ** Tiếp tục ** sẽ đưa bạn đến dòng ** sau ** lỗi. – Peter