msgbox vba 中的命令按钮可能吗?

Command Button in msgbox vba possible?

可以在 vba 中的消息框 window 中添加命令按钮吗?

例如,我想添加一个取消按钮来停止代码而不是继续它。我可以创建一个新的用户表单,但如果我保存一些 space 并使用已经存在的 msgbox 就更好了。

试试这个:

If MsgBox("Cancel or Continue, are you sure?", vbOKCancel) = vbOK Then
     'continue whatever you want to do.
End if

VBA 有几种不同类型的带有内置命令按钮的 MessageBoxes。消息框中包含的按钮类型声明为第二个参数 - MsgBox(Prompt, Buttons as)

您可能感兴趣的类型是:

  • vb是否
  • vbYesNoCancel
  • vbAbortRetryIgnore
  • vbOkCancel
  • vbRetryCancel

这些按钮 return 需要存储或用于比较的整数值。

VBA 将这些整数答案存储为常量(例如 vbOK = 1、VbCancel = 2 等)。有关详细信息,请参阅 Microsoft Developer Network MsgBox Function

Sub mySub()

Dim answer as Integer

answer = MsgBox("Would you like to choose yes?", vbYesNoCancel)

If answer = vbYes Then
   'Do whatever you want
ElseIf answer = vbNo Then
   'Do whatever
Else
   Exit Sub
End If

End Sub