如何在excel中创建消息框函数?
我学到的关于 VBA 的第一件事是如何使用消息框(“msgbox 函数”)。它就像 Excel 窗口上的一个简单的弹出框,用于显示特定消息。如果您考虑一下,您可以通过两种方式使用它。
- 向用户传递消息。
- 从用户那里获取简单的响应。
大多数 VBA 程序员在他们的宏代码中使用它来使它们更具交互性,如果您不知道它,我敢打赌读完本文后您会爱上它。
专家提示:如果您是 VBA 初学者,那么了解有关 VBA 消息框的更多信息可能是个好主意。
因此,今天在这篇文章中,我想与您分享有关在 Excel 中使用消息框的所有详细信息以及一些实际示例。
…让我们开始吧。
句法
=MSGBOX(提示,[按钮],[标题],[帮助文件,上下文])
- 提示 用于显示为消息的字符串表达式。最大字符长度为 1024,具体取决于字符宽度。
- [buttons] 您可以使用此参数来指定按钮、图标样式、按钮标识和消息框模式。
- [title] 您可以使用此参数指定消息框的标题文本。
- [helpfile] 此参数将帮助您为用户指定帮助文件。用户可以使用帮助按钮访问此帮助文件。如果指定帮助文件,则必须指定上下文编号。
- [上下文] 用于从帮助菜单分配帮助主题的数字表达式。
注意:在上面的列表中,方括号中的参数是可选的,您可以跳过来指定它们。
如何自定义消息框并使用不同的按钮
您可以使用所有可用选项轻松自定义 VBA 消息框。让我们看一下这些选项。
#1.仅vbOK
这为您提供了一个简单的“确定”按钮。用户阅读消息后可以单击它来关闭它。单击“确定”按钮后,您还可以另外使用宏来运行。
在 OKOnly() 下
MsgBox 提示 := “这是一个 MsgBox”, _
按钮:=vbOKOnly,_
标题:=“邮箱”
结束字幕
#2. vb确定取消
该常量为您提供了“确定”和“取消”按钮。用户现在有两个选择:按“确定”继续或取消退出。
在 OKCancel() 下
MsgBox提示:= »你还好吗? », _
按钮:=vbOKCancel,_
标题:=“邮箱”
结束字幕
#3。 vbAbort重试忽略
这允许您显示“关于”、“重试”和“跳过”三个按钮。用户可以中止操作、重试或忽略它。
在 OKCancel() 下
MsgBox提示:= »你还好吗? », _
按钮:=vbOKCancel,_
标题:=“邮箱”
结束字幕
#4。 vb是否取消
该常量显示三个按钮,分别是“是”、“否”和“取消”。用户可以选择“是”接受并继续,“否”拒绝或取消关闭消息框。
在 YesNoCancel() 下
MsgBox Prompt := “现在你有三个按钮”, _
按钮:=vbYesNoCancel, _
标题:=“邮箱”
结束字幕
#5。 vb是否
该常量显示“是”和“否”两个按钮。用户可以单击“是”接受并继续,或者单击“否”拒绝。
在 YesNo() 下
MsgBox Prompt := “现在你有两个按钮”, _
按钮:=vbYesNo, _
标题:=“邮箱”
结束字幕
#6。 vb重试取消
现在它显示两个按钮,重试和取消。您可以使用它来要求用户重试操作或取消操作。
Sub RetryCancel()MsgBox Prompt:=”请重试”, _Buttons:=vbRetryCancel, _Title:=”MsgBox”End Sub
#7. vb评论
该常量在消息框中显示一个图标,表明该消息很重要。
亚临界()
MsgBox 提示 := “这很关键”, _
按钮:=vbCritical,_
标题:=“邮箱”
结束字幕
#8。 vb问题
当向用户询问问题时可以使用该常量。
子问题()
MsgBox 提示 := »现在该怎么办? », _
按钮:=vbQuestion,_
标题:=“邮箱”
结束字幕
#9。 vb感叹号
该常量将显示带有消息的感叹号图标。
感叹号下()
MsgBox 提示 := »现在该怎么办? », _
按钮:=vb感叹号,_
标题:=“邮箱”
结束字幕
#十。 vb信息
它将显示一个图标,表明该消息是信息。
Sub Information()MsgBox Prompt:=”现在做什么?”, _Buttons:=vbInformation, _Title:=”MsgBox”End Sub
#11。 vb默认按钮1
使用此常量将消息框中的第一个按钮指定为默认按钮。
Sub DefaultButton1()MsgBox Prompt:=”Button1 突出显示?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=”MsgBox”End Sub
#12。 vb默认按钮2
使用此常量将消息框中的第二个按钮指定为默认按钮。
Sub DefaultButton2()MsgBox Prompt:=”Button2 突出显示?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=”MsgBox”End Sub
#13。 vb默认按钮3
使用此常量将消息框中的第三个按钮指定为默认按钮。
Sub DefaultButton3()MsgBox Prompt:=”Button3 突出显示?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=”MsgBox”End Sub
#14。 vb默认按钮4
使用此常量将消息框中的第四个按钮指定为默认按钮。
Sub DefaultButton4()MsgBox Prompt:=”Button4 突出显示?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=”MsgBox”End Sub
#15。 vb应用程序模式
该常量将暂停应用程序(Excel),用户必须回复msgbox才能使用应用程序。
在 OKOnly() 下
MsgBox 提示 := “这是一个 MsgBox”, _
按钮:=vbOKOnly,_
标题:=“邮箱”,_
结束字幕
#16。 vb系统模态
该常量将暂停操作系统中的所有应用程序,用户必须首先响应消息框。
Sub ApplicationModal()MsgBox Prompt := »这是应用程序模式», _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub
#17。 vbMsgBox帮助按钮
使用此常量向您的邮箱添加帮助按钮。您可以添加帮助文件和上下文编号以使用帮助按钮。
Sub HelpButton()MsgBox Prompt:=”使用帮助按钮”, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=”MsgBox”, _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”, _Context:=101End Sub
一旦用户单击帮助按钮,就会出现帮助菜单。
#18。 vbMsgBoxSetForeground
该常量将帮助您使消息框窗口成为前台窗口。
Sub SetForeground()MsgBox Prompt:=”此 MsgBox 在前台”, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=”MsgBox”End Sub
#19。 vbMsgBoxRight
文本将使用此常量右对齐。
在 MsgBoxRight() 下
MsgBox Prompt := “文字在右边”, _
按钮:=vbOK + vbMsgBoxRight, _
标题:=“邮箱”
结束字幕
#20。 vbMsgBoxRtl读取
使用此常量,消息框将向右翻转。该常数主要是为希伯来语和阿拉伯语系统设计的。
在 MsgBoxRtlRead() 下
MsgBox Prompt := “此框已翻转”, _
按钮:=vbOK + vbMsgBoxRtlRead, _
标题:=“邮箱”
结束字幕
返回值
每次用户通过单击其中一个按钮来响应消息框时,都会生成一个数字。这将帮助您识别用户单击了哪个按钮。
持续的 | 价值 | 描述 |
---|---|---|
好 | 1 | 好的 |
取消 | 2 | 取消 |
vb中止 | 3 | 流产 |
vb再试一次 | 4 | 重新开始 |
跳过 | 5 | 忽略 |
vb是的 | 6 | 是的 |
vb号 | 7 | 不 |
在 Excel 中使用 VBA 消息框函数的真实示例
这里我列出了一些现实生活中的 VBA 消息框示例,我相信这些示例会对您的使用有所启发。
#1.使用 VBA MsgBox 执行宏
现在,借助 msgbox 函数,您可以在运行宏之前提示用户。我们看下面的宏就可以理解了。
在 SaveThis() 下
将结果暗淡为整数
Result = MsgBox(“你想保存这个文件吗?”, vbOKCancel)
如果结果 = vbOK 那么
活动工作簿.保存
结束字幕
您可以要求用户保存工作簿,如果用户单击“确定”按钮,宏代码将保存工作簿。
#2.将表格插入消息框
您可以使用 vbTab 在消息框中输入表格数据。在此示例中,表格从单元格 A1 开始。
在 AddToMsgBox() 下
暗淡消息作为字符串
调暗 r 作为 int
将 c 调暗为 int
将 rc 调暗为 int
将 cc 调暗为 int
将 myRows 调暗为范围
将 myColumns 调暗为范围
消息=“”
设置 myRows = Range(“A:A”)
设置 myColumns = Range(“1:1”)
rc = Application.CountA(myRows)
cc = Application.CountA(myColumns)
对于 r = 1 至 rc 对于 c = 1 至 cc
Msg = Msg & Cells(r, c).Text
如果 c <= cc 那么
消息 = 消息 & vbTab
下一个 cmsg = Msg & vbCrLf
下一个
消息框消息
结束字幕
#3。打开文件时显示消息框
如果您查看下面的宏,我使用 auto_open 创建一条消息,以在打开工作簿时显示。
在 auto_open() 下
MsgBox“欢迎使用 Exceladvisor 并感谢您下载此文件”_
+ vbNewLine + vbNewLine + 》这里你会找到MsgBox函数的详细解释。 » _
+ vbNewLine + vbNewLine + “而且,不要忘记查看其他很酷的东西。 »
结束字幕
要点
- 如果不使用帮助按钮作为第四个按钮,则无法向消息框添加四个按钮。
- 要为消息框创建帮助文件,您可以参考以下示例文件。
示例文件
请在此处下载此示例文件以了解更多信息。
结论
消息框不仅可以帮助您传达消息,还可以给用户留下创造性的印象。您可以向他们发送消息并获得简单的回复。
就像我说的,如果您是 VBA 新手,学习如何使用消息框是最好的事情之一。我希望这篇文章可以帮助您更接近掌握 VBA 的梦想,但现在告诉我一件事。
您认为 MsgBox 函数是 VBA 中最酷的功能之一吗?
请务必在评论部分与我分享您的意见,我很乐意听取您的意见,并且不要忘记与您的朋友分享此技巧。
了解有关 VBA 的更多信息