How to check which line of VBA code is causing errors
33,842
Solution 1
To check which line is giving you the error, you can use the ERL
property. See this sample code below.
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
For this to work, you will have to number the code lines as I have done above. Run the above code and see what happens.
Solution 2
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
When you get to Stop, then Step Into twice. If you don't have F8, you should have a menu item for stepping into a line. Resume will take you back to the line that caused the error.
Solution 3
- Right click the toolbar.
- Choose "Customize..."
- Select "Debug"
- Drag "Step Into" into your toolbar.
Comments
-
seigna almost 2 years
I am trying to debug a long code I wrote and I need to step line by line.
The thing is I am on a mac and don't know how to use an F8 in that case. Could anyone tell me how can I do that otherwise and how do I know which line is causing problems with execution?
-
Peter over 6 yearsActually, Resume will take you to the line after the error.