目录:
- 在这种情况下,你不关心函数返回的结果。
- Sub GetAnswer()Dim Ans As Long Ans = MsgBox(“Start printing?”,vbYesNo )选择Case Ans Case vbYes ActiveSheet。 PrintOut案例vbNo MsgBox“已取消打印”End Select End Sub
视频: How to use the Message Box in Excel VBA (syntax you'll need for msgbox) 2024
您可能熟悉VBA MsgBox函数。接受下面显示的参数的MsgBox函数便于显示信息并获得简单的用户输入。它能够获得用户输入,因为它是一个功能。一个函数,你可能知道,返回一个值。在MsgBox函数的情况下,它使用一个对话框来获取它返回的值。继续阅读,看看它是如何工作的。
<!参数 | 影响 |
---|---|
提示 | 文本Excel显示在消息框中 |
按钮 | 一个数字,指定哪些按钮(以及哪个图标)
出现在消息框中(可选) |
标题 | 消息框标题栏
中显示的文本(可选) |
以下是MsgBox函数语法的简化版本: <!显示一个简单的消息框
可以通过两种方式使用MsgBox函数:简单地显示一个消息给用户:
在这种情况下,你不关心函数返回的结果。
为了得到用户的回应:
-
在这种情况下,你关心的是函数返回的结果。结果取决于用户点击的按钮。
-
如果您自己使用MsgBox函数,请不要在参数周围包含括号。以下示例只显示一条消息,不返回结果。显示消息时,代码将停止,直到用户单击确定。 Sub MsgBoxDemo()MsgBox“单击确定以开始打印。 “表格(”结果“)。 PrintOut End Sub
查看下面的消息框。在这种情况下,当用户点击确定时开始打印。你注意到有没有办法取消打印?继续阅读,找出如何解决这个问题。
一个简单的消息框。
从消息框获取响应
如果您显示的消息框不仅包含“确定”按钮,还可能需要知道用户点击了哪个按钮。你很幸运MsgBox函数可以返回一个代表哪个按钮被点击的值。您可以将MsgBox函数的结果分配给一个变量。
在下面的代码中,使用了一些内置常量,可以很容易地处理MsgBox返回的值:Sub GetAnswer()Dim Ans As Long Ans = MsgBox(“Start printing?”,vbYesNo )选择Case Ans Case vbYes ActiveSheet。 PrintOut案例vbNo MsgBox“已取消打印”End Select End Sub
常量
值
功能
vbOKOnly | 0 | 仅显示“确定”按钮。 |
---|---|---|
vbOKCancel | 1 | 显示“确定”和“取消”按钮。 |
vbAbortRetryIgnore | 2 | 显示中止,重试和忽略按钮。 |
vbYesNoCancel | 3 | 显示是,否和取消按钮。 |
vbYesNo | 4 | 显示是和否按钮。 |
vbRetryCancel | 5 | 显示重试和取消按钮。 |
vbCritical | 16 | 显示紧急消息图标。 |
vbQuestion | 32 | 显示警告查询图标。 |
vbExclamation | 48 | 显示警告消息图标。 |
vbInformation | 64 | 显示信息消息图标。 |
vbDefaultButton1 | 0 | 第一个按钮是默认的。 |
vbDefaultButton2 | 256 | 第二个按钮是默认的。 |
vbDefaultButton3 | 512 | 第三个按钮是默认的。 |
vbDefaultButton4 | 768 | 第四个按钮是默认的。 |
看看它是怎么样的。当您执行此过程时,Ans变量被赋值为vbYes或vbNo,具体取决于用户单击哪个按钮。 Select Case语句使用Ans值来确定代码应执行的操作。 | 一个简单的消息框,带有两个按钮。 | 也可以使用MsgBox函数结果而不使用变量,如下例所示: |
Sub GetAnswer2()If MsgBox(“Start printing?”,vbYesNo)= vbYes Then'… [if if Yes is单击] …否则'… [如果没有单击是的代码] …结束如果结束小组