使用VBA为特定的Excel错误消息生成消息?
有没有办法说如果错误1004出现,显示消息“消息”,如果错误9,显示消息“消息2”,而不是通用的非描述符怪胎说话的消息最终用户?
你所要做的就是error handling。
看到这个例子。 您可以使用Err.Number
来捕获错误编号
Sub Sample() On Error GoTo Whoa '~~> Rest of the code Exit Sub Whoa: Select Case Err.Number Case 9 MsgBox "Message1" Case 1004 MsgBox "Message2" End Select End Sub
跟进
Sub Sample1() On Error GoTo Whoa '~~> Rest of the code Exit Sub Whoa: MsgBox GetErrMsg(Err.Number) End Sub Sub Sample2() On Error GoTo Whoa '~~> Rest of the code Exit Sub Whoa: MsgBox GetErrMsg(Err.Number) End Sub Function GetErrMsg(ErNo As Long) As String Select Case ErNo Case 9 GetErrMsg = "Message1" Case 1004 GetErrMsg = "Message2" Case Else GetErrMsg = "Message3" End Select End Function