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

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

  1. VBA中msgbox的用法小结

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

  2. VBA中Option的四种用法

    1.Option Explicit.当使用Option Explicit时,必须在模块中的所有过程声明每一个变量,否则会出现语法错误并不能被编译.这样做的好处是,它能消除程序中因为错拼变量名而导致程序 ...

  3. Oracle plsql存储过程中out模式参数的用法

    在plsql中,存储过程中的out模式的参数可以用来返回数据,相当于函数的返回值.下面是一个小例子. 沿用上一篇的emp表结构和数据. 存储过程如下: create or replace proced ...

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

    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

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

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  6. linux 中解析命令行参数(getopt_long用法)

    linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...

  7. models中,字段参数limit_choices_to的用法

    这里,在使用 ModelForm 渲染前端页面的前提下,对于 models 中的 ManyToManyField 类型字段会在 ModelForm 中被转化为 ModelMultipleChoiceF ...

  8. 在VBA中使用Windows API

    VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...

  9. VBA中find的一些使用方法

    用excel处理数据的时候,无论是使用VBA还是函数,查找和引用都是两大主要的工作,VBA中的find系列的方法(find.findnext.Range.FindPrevious)返回range对象, ...

随机推荐

  1. sublime text保存时删除行尾空格

    打开sublime text,点击在Preferences, Settings-User打开的用户配置中加入以下一行: "trim_trailing_white_space_on_save& ...

  2. 自已实现的async 只实现了一部分功能

    不得不说,人和人的技术确实有差距,同样的功能,其他人就是有办写写的更优雅性能更好 不论是C还是js 自已有功能但看着也比人家的丑好多. //最终效果 同async //目前实现了个人最常用的 seri ...

  3. redis 内存泄露

    http://www.oschina.net/question/2266476_246221 http://stackoverflow.com/questions/24304212/how-to-de ...

  4. XML文件操作(C#)

    XML应用于Web开发的许多方面,常用于简化数据的存储和共享,它的设计宗旨是传输数据,而非显示数据.下面简单介绍一下C#是如何对XML文件进行读取的. 1.首先,建立XML对象并关联XML文件 str ...

  5. Java范型随笔

    最近在帝都好无聊啊, 排遣寂寞就只有让自己不要停下来,不断的思考了 QWQ; 最近做ndk, java有点忘了,突然看到了一些java范型方面的问题, 踌躇了一会, 想着想着,决定还是写个随笔记录下来 ...

  6. Jquery点击发送按钮后,按钮文本倒计时

    1.html代码 <input type="number" id="mobileNo" placeholder="请输入手机号" /& ...

  7. try-catch-finally的含有return使用揭秘

    很多人都会纠结这么一个问题try-catch-finally中有return的情况,我自己总结如下: 如果是值类型的话 请看代码 using System; using System.Collecti ...

  8. Android学习--摘录

    今天准备开始毕业设计--做一个android应用.无奈android基础木有一点,以前做过一个蓝牙应用,不过对android各方面的知识还是不懂啊,今天在android主页上看英文的android开发 ...

  9. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  10. SQLSERVER 里经常看到的CACHE STORES是神马东东?

    SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC ...