vba 怎麼顯示程式碼出現錯誤的列數

在藍色小站看到這串程式碼
____________________________________________
Private Sub Command1_Click()
On Error GoTo ERR
10 .........................
11 .........................
12 ....你的程式碼...........
13 .........................
14 ................. ........
Exit Sub

ERR:
MsgBox "錯誤代號: " & ERR.Number & "(列號:" & Erl() & ")" & vbCrLf & _
"錯誤訊息: " & ERR.Description
End Sub
____________________________________________

依這方法套用以下
____________________________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo ErrorHandler ' 啟用錯誤處理機制

If Range("A1") >= 5 Then
Call Hello
End If

Exit Sub ' 結束子程序

ErrorHandler: ' 錯誤處理用的程式碼
MsgBox "錯誤代號: " & Err.Number & "(列號:" & Erl() & ")" & vbCrLf & "錯誤訊息: " & Err.Description
Resume Next ' 繼續往下執行

End Sub

Sub Hello()

Dim x, y, z As Integer
10 x = 10
11 y = 0
12 z = x / y ' 出現除以 0 的錯誤
13 MsgBox "z = " & z

End Sub
____________________________________________

怎麼msgbox出現的(列號:0),還以為是列號:12。其中是我搞錯了什麼嗎
2019-12-26 13:36 發佈
應該是erl不能跨程序,所以在每個程序都要加啟用錯誤處理機制才會回報出錯時的列數。
____________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo ErrorHandler ' 啟用錯誤處理機制

If Range("A1") >= 5 Then
Call Hello
End If

Exit Sub ' 結束子程序
ErrorHandler: ' 錯誤處理用的程式碼
MsgBox "錯誤代號: " & Err.Number & "(列號:" & Erl() & ")" & vbCrLf & "錯誤訊息: " & Err.Description
Resume Next ' 繼續往下執行

End Sub

Sub Hello()
On Error GoTo ErrorHandler ' 啟用錯誤處理機制

Dim x, y, z As Integer
10 x = 10
11 y = 0
12 z = x / y ' 出現除以 0 的錯誤
13 MsgBox "z = " & z

Exit Sub ' 結束子程序
ErrorHandler: ' 錯誤處理用的程式碼
MsgBox "錯誤代號: " & Err.Number & "(列號:" & Erl() & ")" & vbCrLf & "錯誤訊息: " & Err.Description
Resume Next ' 繼續往下執行

End Sub
____________________________

另外現在又有個問題怎麼在程式碼前快速加入列號?落落長要一一插入還蠻麻煩的
自問自答:https://www.browserling.com/tools/number-lines
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?