Dr.*_*ius 44
首先是好消息.此代码可以满足您的需求(请注意"行号")
Sub a()
10: On Error GoTo ErrorHandler
20: DivisionByZero = 1 / 0
30: Exit Sub
ErrorHandler:
41: If Err.Number <> 0 Then
42: Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & "Error Line: " & Erl & Chr(13) & Err.Description
43: MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
44: End If
50: Resume Next
60: End Sub
Run Code Online (Sandbox Code Playgroud)
运行时,会显示预期的MsgBox:

现在是坏消息:
行号是旧版Basic的残留物.编程环境通常负责插入和更新它们.在VBA和其他"现代"版本中,此功能丢失了.
但是,这里有几种"自动"添加行号的替代方案,为您节省了输入它们的繁琐工作......但所有这些都或多或少看起来很麻烦......或商业化.
HTH!