VBA ErrorHandler MsgBox语法

时间:2015-06-17 13:58:40

标签: excel vba excel-vba excel-2007

这是一个基本问题,但在Google搜索后我找不到任何解决方案。

这是我正在尝试做的事情:

我无法正确启动MsgBox:它以红色突出显示。我认为这是一个语法问题。

Sub DataProcessingExperiment7
On Error GoTo ErrorHandler
...
ErrorHandler
MsgBox("Error detected" & vbNewLine & "Error" & Err.Number & ": " & Err.Description, vbCritical, "Error Handler: Error" & Err.Number, , , asVbMsgBoxResult)

3 个答案:

答案 0 :(得分:1)

你错过了一个应该是ErrorHandler:

的冒号

答案 1 :(得分:1)

除非您想要返回值,否则您不应该在括号(括号)中调用。删除msgbox

后的括号
Sub DataProcessingExperiment7
On Error GoTo ErrorHandler
...

ErrorHandler:
MsgBox "Error detected" & vbNewLine & "Error" & Err.Number & ": " & Err.Description, vbCritical, "Error Handler: Error" & Err.Number, , 

编辑:

你的论点太多了。删除一个

答案 2 :(得分:0)

如果您只想向用户显示带有确定按钮的消息,请使用:

MsgBox "This is the message", vbCritical, "This is the title"

您需要的唯一位是消息位。你可以使用这样的命名参数(更容易知道哪个位是什么):

MsgBox Prompt:="This is the message", Buttons:=vbCritical, Title:="This is the title"

如果您想给用户一个Yes / No,Ok / Cancel选项,那么您将MsgBox用作函数并存储或使用结果。

If vbNo = MsgBox(Prompt:="Do you want to continue?",Buttons:=vbQuestion + vbYesNo, Title:="Are you sure?") Then

代码使用:

ErrorHandler:
MsgBox Prompt:="Error detected" & vbNewLine & "Error" & Err.Number & ": " & Err.Description, Buttons:=vbCritical, Title:="Error Handler: Error" & Err.Number