VBA 这个 MsgBox 语法有什么问题

VBA What's wrong with this MsgBox Syntax

当我尝试编译时出现此错误:

Compile error:

Syntax error

代码如下:

Public Sub ErrorHandler()
'   The code is cleaned up by using ErrorHandler as a function because it has to be written out fewer times, and makes changing ErrorHandler easier

MsgBox("Error detected" & vbNewLine & vbNewLine & "Error " & Err.Number, vbCritical, "Error Handler: Error " & Err.Number)

End Sub

除非子例程正在返回一个值,即被分配给一个变量没有必要使用 paranthesis

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

如果 msgbox 需要返回一个答案,下面是正确的语法

response = MsgBox ("Error detected" & vbNewLine & vbNewLine & "Error " & Err.Number & "Do you want to retry", vbYesNo, "Error Handler: Error " & Err.Number)