2013-05-06 10 views
10

Próbuję debugować długi kod, który napisałem i muszę wykonać krok po linii.Jak sprawdzić, która linia kodu VBA powoduje błędy

Chodzi o to, że jestem na macu i nie wiem jak użyć F8 w tym przypadku. Czy ktoś mógłby mi powiedzieć, jak mogę to zrobić inaczej i skąd mam wiedzieć, która linia powoduje problemy z wykonaniem?

+1

Zobacz: 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 –

Odpowiedz

3
  1. Kliknij prawym przyciskiem myszy pasek narzędzi.
  2. wybierz "Dostosuj ..."
  3. "Debug"
  4. Drag "Step Into" do paska narzędzi.
9

Aby sprawdzić, która linia daje błąd, można użyć właściwości ERL. Zobacz poniższy przykładowy kod.

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 

Aby to działało, będziesz musiał numerować linie kodu, tak jak to zrobiłem powyżej. Uruchom powyższy kod i zobacz, co się stanie.

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 

Po przejściu do Stop, a następnie Krok dwa razy. Jeśli nie masz F8, powinieneś mieć element menu do wkroczenia do linii. Wznowienie przeniesie Cię z powrotem do linii, która spowodowała błąd.

+0

Właściwie, ** Resume ** przeniesie Cię do linii ** po ** błędzie. – Peter

Powiązane problemy