vba中MsgBox的参数及用法

1、作用

   在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如“确定”或者“取消”)。通常用作显示变量值的一种方式。
2、语法
       MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])

参数说明:

(1)Prompt,必需的参数,为字符串,作为显示在消息框中的消息文本。其最大长度约为1024个字符,由所用字符的宽度决定。如果prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr(13)&Chr(10))将各行分隔开来。

(2)Buttons,可选的参数,为数值表达式的值之和,指定显示的按钮的数目及形式、使用的图标样式、缺省按钮及消息框的强制回应等,可以此定制消息框。若省略该参数,则其缺省值为0。设置值见下表。

(3)Title,可选的参数,表示在消息框的标题栏中所显示的文本。若省略该参数,则将应用程序名放在标题栏中。

(4)Helpfile,可选的参数,为字符串表达式,提供帮助文件。若有Helpfile,则必须有Context。

(5)Context,可选的参数,为数值表达式,提供帮助主题。若有Context,则必须有Helpfile。

3Button参数
       用于MsgBox函数中Button参数的常量

符号常量 作用
按钮类型 vbokonly 0 只显示“确定”按钮
vbokcancel 1 显示“确定”及“取消”按钮
vbabortretryignore 2 显示“终止”、“重试”及“忽略”按钮
vbyesnocancel 3 显示“是”、“否”及“取消”按钮
vbyesno 4 显示“是”、“否”按钮
vbretrycancel 5 显示“重试”及“取消”按钮
 
图标样式 vbcritical 16 显示critical message图标(系统叉号图标)
vbquestion 32 显示warning query图标(系统问号图标)
vbexclamation 48 显示warning message图标(系统感叹号图标)
vbinformation 64 显示information message图标(系统信息图标)
       
默认按钮 vbdefauitbutton1 0 第一个按钮是默认值
vbdefauitbutton2 256 第二个按钮是默认值
vbdefauitbutton3 512 第三个按钮是默认值
vbdefauitbutton4 768 第四个按钮是默认值
       
强制返回 vbapplicationmode1 0 应用程序强制返回
vbsystemmode1 4096 系统强制返回
       
其他类型 vbmsgboxhelpbutton 16384 在对话框中添加一个“帮助”按钮
vbmsgboxsetforeground 65535 指定对话框窗口作为前景窗口
vbmsgboxright 524288 对话框的文本为右对齐
vbmsgboxrtireading 1048576 指定对话框中的元素从右到左显示

说明:
(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是VBA指定的,可以在程序代码中使用这些常数名称代替实际数值。
4、返回值
用于MsgBox函数返回值的常量


常数



说明


vbOK


1


确定


vbCancel


2


取消


vbAbort


3


终止


vbRetry


4


重试


vbIgnore


5


忽略


vbYes


6



vbNo


7


5、相关说明
(1) 如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
(2)若在消息框中显示“取消”按钮,则按下ESC键与单击“取消”按钮效果相同。若消息框中有“帮助”按钮,则提供相关的帮助信息。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
6、示例
(1)使用 MsgBox 函数,在具有“是”及“否”按钮的对话框中显示一条严重错误信息。示例中的缺省按钮为“否”,MsgBox函数的返回值视用户按哪一个钮而定。并假设DEMO.HLP为一帮助文件,其中有一个帮助主题代码为1000。

  1. Dim Msg,Style,Title,Help,Ctxt,Response,MyString
  2. ‘定义消息文本
  3. Msg="Do you want to continue ?"
  4. ‘ 定义按钮
  5. Style = vbYesNo + vbCritical + vbDefaultButton2
  6. ‘ 定义标题文本
  7. Title = "MsgBox Demonstration"
  8. ‘ 定义帮助文件
  9. Help = "DEMO.HLP"
  10. ‘ 定义帮助主题
  11. Ctxt = 1000
  12. Response = MsgBox(Msg, Style, Title, Help, Ctxt)
  13. If Response = vbYes Then    ‘ 用户按下“是”
  14. MyString = "Yes"
  15. Else    ‘ 用户按下“否”
  16. MyString = "No"
  17. End If

(2)只显示某消息

  1. MsgBox “Hello!”

(3)将消息框返回的结果赋值给变量

  1. Ans=MsgBox(“Continue?”,vbYesNo)
  2. If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub

(4)使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮

  1. Config=vbYesNo+vbQuestion+vbDefaultButton2

(5)若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如

  1. MsgBox “This is the first line.” & vbNewLine & “Second line.”

(6)可以在消息框中使用vbTab常量插入一个制表符。下面的过程使用一个消息框来显示5×5单元格区域中的所有值,用vbTab常量分隔列并使用vbCrLf常量插入一个新行。注意在MsgBox函数最多只显示1024个字符,因此限制了可显示的单元格数。

  1. Option Explicit
  2. Sub ShowRangeValue()
  3. Dim Msg As String
  4. Dim r As Integer, c As Integer
  5. Msg = ""
  6. For r = 1 To 5
  7. For c = 1 To 5
  8. Msg = Msg & Cells(r, c) & vbTab
  9. Next c
  10. Msg = Msg & vbCrLf
  11. Next r
  12. MsgBox Msg
  13. End Sub

(7)在消息框语句中运用工作表函数以及设置显示的数置格式,如下面语句所示:

  1. MsgBox " selection has " & m & " cells ." & Chr(13) & " the sum is :" & Application.WorksheetFunction.Sum(Selection) & Chr(13) & "the average is :" & Format(Application.WorksheetFunction.Average(Selection), "#,##0.00"), vbInformation, "selection count & sum & average" & Chr(13)

出处:http://blog.csdn.net/bright_chen7/article/details/6248715

参考:https://www.baidu.com/link?url=lRwVSdVDBPcm5ww-CkxqlyM4ColOU1VodWiHGsA-LgQnmYahXESn7nydeZmAo9rz&wd=&eqid=c33f9e7100001a8b00000004584f93a7

时间: 2024-12-26 05:19:13

vba中MsgBox的参数及用法的相关文章

VBA中msgbox的用法小结

1.作用在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如"确定"或者"取消").通常用作显示变量值的一种方式.2.语法MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])参数说明:(1)Prompt,必需的参数,为字符串,作为显示在消息框中的消息文本.其最大长度约为1024个字符,由所用字符的宽度决定.如果prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13)).换行符(Chr(10)

[转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBox.Show (IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框. MessageBox.Show (String, String) 显示具有指定文本和标题的消息框.由 .NET Compact Framework 支持. MessageBox.Show (IWi

VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

在VB中,属性是可以有参数的 -- 即: VB的语法,使用参数的不一定是方法,也有可能是属性!(虽然属性的本质是方法) 例一:参数当作"索引"使用 定义一个类模块,模块名称Ints.为简化模型,使用了只读属性. 1 Private arr(3) As Integer 2 3 Public Property Get ArrValue(Index As Integer) As Integer 4 ArrValue = arr(Index) 5 End Property 6 7 '初始化ar

一文看懂命令行参数的用法——Python中的getopt神器

一文看懂命令行参数的用法--Python中的getopt神器 参考原文:Python模块之命令行参数解析 - 每天进步一点点!!! - 博客园 https://www.cnblogs.com/madsnotes/articles/5687079.htmlpython getopt使用 - tianzhu123的专栏 - CSDN博客 https://blog.csdn.net/tianzhu123/article/details/7655499在运行程序时,可能需要根据不同的条件,输入不同的命令

在VBA中使用Windows API

VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个Office应用程序协同工作以完成单个应用程序无法完成的任务.然而,使用VBA仅能控制操作系统的一小部分.Windows API提供了控制操作系统绝大多数方面的功能.下面,介绍在VBA中使用Windows API的一些知识. 理解APIs API只是一组函数,可用于处理组件.应用程序或操作系统.通常

[转]【VBA研究】VBA中日期和时间相关的计算

作者:iamlaosong http://blog.csdn.net/iamlaosong/article/details/18458253 VBA中取当前日期的函数是Date,当前时间的函数是Time,当前日期和时间一起取是Now.日期转换成年月日的函数分别是:Year.Month.Day,参数可以用Date或Now取出的值.时间转换成时分秒的函数分别是:Hour.Minute.Second,参数可以用Time或Now取出的值. 例如:   MsgBox "当前时间:" &

VBA中find的一些使用方法

用excel处理数据的时候,无论是使用VBA还是函数,查找和引用都是两大主要的工作,VBA中的find系列的方法(find.findnext.Range.FindPrevious)返回range对象,可以同时实现查找和引用,因此非常有用,下面列举一些常见的find的用法: Sub Find1() '在某列查找 Dim k k = Range("A:A").Find("A").Row MsgBox k End Sub =========================

VBA的过程及参数详解

VBA的过程及参数详解 VBA中的过程(Procedure)有两种,一种叫函数(Function),另外一种叫子程序(Subroutine),分别使用Function和Sub关键字.它们都是一个可以获取参数.执行一系列语句.以及改变其参数的值的独立过程.而与 Function 过程不同的是:带返回值的 Sub 过程不能用于表达式. 这里主要介绍子程序的使用方法,同样这些方法也可以应用到Function上. 语法[Private | Public | Friend] [Static] Sub na

在VBA中进行字符串比较时,会用到比较运算符

通常,在VBA中进行字符串比较时,会用到比较运算符(如=.>等).Like运算符和StrComp函数.此外,在模块的开头用Option Compare语句指定比较方式.2.1.1 比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于).<=(小于或等于).>(大于).>=(大于或等于).=(等于).<>(不等于).此外,还可以使用Like运算符进行比较.2.1.2 StrComp函数StrComp函数返回字符串比较的结果.其语法为:StrComp(s