VBA中用InputBox函数和msgbox函数来进行输入和输出。
一、InputBox函数
作用:
显示一个输入框,并提示用户在文本框中输入文本、数字或选中某个单元格区域,当按下确定按钮后返回包含文本框内容的字符串。
语法:
InputBox(Prompt[,Title][,Default][,Xpos][,Ypos][,Helpfile,Context])
二、msgbox函数
作用:显示一个输出框,并并输出用户定义的信息。
语法:
MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])
InputBox函数参数说明:
1、prompt 必需的。显示在对话框中的消息。如果 prompt 中包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 以分隔各行。
2、title 可选的。显示在对话框标题栏中的字符串表达式。如果省略 title,则应用程序的名称将显示在标题栏中。
3、default 可选的。显示在文本框中的字符串表达式,在没有其它输入时作为默认的响应值。如果省略 default,则文本框为空。
4、xpos 可选的。数值表达式,用于指定对话框的左边缘与屏幕左边缘的水平距离(单位为缇)。如果省略 xpos,则对话框会在水平方向居中。
5、ypos 可选的。数值表达式,用于指定对话框的上边缘与屏幕上边缘的垂直距离(单位为缇)。如果省略 ypos,则对话框显示在屏幕垂直方向距下边缘大约三分之一处。
6、helpfile 可选的。字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。如果已提供 helpfile,则必须提供 context。
7、context 可选的。数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。如果已提供 context,则必须提供 helpfile。
MsgBox函数参数说明
1、prompt 必需。显示在对话框中的信息。如果 prompt 中包含多个行,则可在各行之间用回车符(Chr(13))、换行符(Chr(10))或回车换行符的组合(Chr(13) & Chr(10))分隔各行。
2、buttons 可选,是表示指定显示按钮的数目和类型、使用的图标样式,默认按钮的标识以及消息框样式的数值的总和。默认值为 0。
Buttons值的含义如下:
0 = vbOKOnly - 只显示 OK 按钮
1 = vbOKCancel - 显示 OK 和 Cancel 按钮
2 = vbAbortRetryIgnore - 显示 Abort、Retry 和 Ignore 按钮
3 = vbYesNoCancel - 显示 Yes、No 和 Cancel 按钮
4 = vbYesNo - 显示 Yes 和 No 按钮
5 = vbRetryCancel - 显示 Retry 和 Cancel 按钮
16 = vbCritical - 显示临界信息图标
32 = vbQuestion - 显示警告查询图标
48 = vbExclamation - 显示警告消息图标
64 = vbInformation - 显示信息消息图标
0 = vbDefaultButton1 - 第一个按钮为默认按钮
256 = vbDefaultButton2 - 第二个按钮为默认按钮
512 = vbDefaultButton3 - 第三个按钮为默认按钮
768 = vbDefaultButton4 - 第四个按钮为默认按钮
0 = vbApplicationModal - 应用程序模式(用户必须响应消息框才能继续在当前应用程序中工作)
4096=bSystemModal - 系统模式(在用户响应消息框前,所有应用程序都被挂起)
总的来说可以把按钮分成四组:
第一组值(0-5)用于描述对话框中显示的按钮类型与数目;
第二组值(16,32,48,64)用于描述图标的样式;
第三组值(0,256,512,768)用于确定默认按钮;
而第四组值(0,4096)则决定消息框的样式。
在将这些数字相加以生成 buttons 参数值时,只能从每组值中取用一个数字。
3、title 可选。消息框的标题。默认是应用程序的名称。
4、helpfile 可选。字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。必须与 context 参数一起使用。
5、context 可选。数值表达式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编号。必须与 helpfile 参数一起使用。
接下来,用个举个栗子:
Sub inputbox_fun()
name1 = "请输入姓名:"
age1 = "请输入年龄:"
Name = InputBox(name1, "个人信息-姓名")
age = InputBox(name1, "个人信息-年龄")
MsgBox "姓名:" & Name & Chr(13) & "年龄:" & age, 3, "个人信息"
End Sub
其中inputbox输入的如下图所示:
msgbox输出的结果如下: