ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3211|回复: 2

[求助] 请教一个消息框的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-5 15:28 | 显示全部楼层 |阅读模式
消息框显示三个按钮,确定,取消,和终止,怎么编??

TA的精华主题

TA的得分主题

发表于 2009-4-5 17:25 | 显示全部楼层
供你参考:
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。


3、Button参数
用于MsgBox函数中Button参数的常量
常量                             值   说明
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  第四个按钮是缺省值
vbApplicationModal            0   应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作
vbSystemModal               4096  系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作
vbMsgBoxHelpButton       16384  将Help按钮添加到消息框
VbMsgBoxSetForeground  65536  指定消息框窗口作为前景窗口
vbMsgBoxRight                  524288  文本为右对齐
vbMsgBoxRtlReading        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。

Dim Msg,Style,Title,Help,Ctxt,Response,MyString
Msg="Do you want to continue ?"    ’定义消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2    ' 定义按钮
Title = "MsgBox Demonstration"    ' 定义标题文本
Help = "DEMO.HLP"    ' 定义帮助文件
Ctxt = 1000    ' 定义帮助主题
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' 用户按下“是”
    MyString = "Yes"    ' 完成某操作
Else    ' 用户按下“否”
    MyString = "No"    ' 完成某操作
End If

(2)只显示某消息
MsgBox “Hello!”

(3)将消息框返回的结果赋值给变量
Ans=MsgBox(“Continue?”,vbYesNo)
If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub

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

(5)若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如
MsgBox “This is the first line.” & vbNewLine & “Second line.”

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

Option Explicit
Sub ShowRangeValue()
Dim Msg As String
Dim r As Integer, c As Integer
Msg = ""
For r = 1 To 5
  For c = 1 To 5
    Msg = Msg & Cells(r, c) & vbTab
  Next c
  Msg = Msg & vbCrLf
Next r
MsgBox Msg
End Sub

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

TA的精华主题

TA的得分主题

发表于 2009-4-5 17:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
详细~学习了~~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-24 05:34 , Processed in 0.030558 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表