2024年4月29日发(作者:)
InputBox函数和InputBox方法
在VBA中,开发人员可调用以下两种类型的InputBox输入对话框:
a>一种是VB中常用的InputBox函数,在该输入对话框中显示提示信息,等待用户输入
正文或按下[确定]或[取消]按钮,并返回包含文本框的内容,该对话框返回值类型为字符串。
b>一种是使用Application对象的InputBox方法显示一个输入对话框,在该对话框中设
置输入值的类型。
1.显示InputBox函数的对话框
使用VBA提供的InputBox函数,可产生一个输入对话框。该函数打开一个对话框作为
输入数据的界面,等待用户输入数据,并返回所输入的内容。其语法格式如下:
InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
prompt为对话框消息出现的字符串表达式。如果需要在对话框中显示多行数据,则可
在各行之间用回车换行符来分隔,一般使用VBA的常数vbCrLf代表回车换行符
title为对话框标题栏中的字符串。如果省略该参数,则把应用程序名放入标题栏中
default为显示在文本框中的字符串。如果省略该参数,则文本框为空
xpos/ypos这两个参数必须成对出现,指定对话框的左上角坐标位置
helpfile设置对话框的帮助文件,该参数可省略
context设置对话框的帮助主题编号,该参数可省略
以下代码可接收用户输入的数据
Sub 使用InputBox函数()
Dim sPrompt As String, sTitle As String, sDefault As String, sReturn As String
sPrompt = "请输入用户姓名: "
sTitle = "输入姓名"
sDefault = "flystar"
sReturn = InputBox(sPrompt, sTitle, sDefault)
sReturn
End Sub
注:
a>在默认情况下,InputBox函数的返回值是一个字符串类型,而不是变体类型。如果需
要使用该函数输入数值,则需要使用Val函数(或其他的转换函数)将返回值转换为相应类型
b>在对话框中,如果用户单击[取消]按钮(或按Esc键),则表示不使用当前输入的值,函
数将返回一个空字符串。根据这一特性,可判断用户是否输入了数据到对话框中
c>执行一次InputBox函数,只能返回一个值,如果需要输入多个值,则必须多次调用
该函数
2.显示InputBox方法对话框
使用Application对象的InputBox方法,也可显示一个接收用户输入的对话框。此对话
框有一个[确定]按钮和一个[取消]按钮。如果单击[确定]按钮,则InputBox方法将返回对话框
中的输入值。如果单击[取消]按钮,则InputBox方法返回逻辑值False。与InputBox函数不
同的是,该对话框可指定输入数据的类型,具体的语法格式如下:
ox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
从以上语法格式中可以看出,大部分参数与InputBox函数相同,只是在最后多了一个
Type参数,用来指定输入数据的类型。Type参数可设置为以下值之一或其中几个值的和。
例如,对于一个可接受文本和数字的输入框,将Type设置为1+2.
a>0/公式
b>1/数字
c>2/文本(字符串)
d>4/逻辑值(True或False)
e>8/单元格引用,作为一个Range对象
f>16/错误值,如#N/A
g>64/数值数组
以下代码提示用户在工作表Sheet1中选取一个单元格
Sub 使用InputBox方法()
Worksheets(1).Activate
Set myCell = ox(Prompt:="选择一个单元格", Type:=8)
End Sub


发布评论