vbInputBox⽤法
⼀、InputBox函数
1、作⽤
显⽰⼀个输⼊框,并提⽰⽤户在⽂本框中输⼊⽂本、数字或选中某个单元格区域,当按下确定按钮后返回包含⽂本框内容的字符串。
2、语法
InputBox(Prompt[,Title][,Default][,Xpos][,Ypos][,Helpfile,Context])
参数说明:
(1) Prompt,必需的参数,作为输⼊框中提⽰信息出现的字符串,其最⼤长度约为1024个字符,由所使⽤字符的宽度决定。如果Prompt包含多个⾏,则可在各⾏之间⽤回车符(Chr(13))、换⾏符(Chr(10))或回车换⾏符的组合(Chr(13)&Chr(10))来分隔。
(2) Title,可选的参数,作为输⼊框标题栏中的字符串。若省略该参数,则在标题栏中显⽰应⽤程序名称。
(3) Default,可选的参数,作为输⼊框中默认的字符串,在没有其它输⼊时作为缺省值。若省略该参数,则⽂本框为空。
(4) Xpos,可选的参数,为数值,成对出现,指定输⼊框的左边与屏幕左边的⽔平距离。若省略该参数,则输⼊框在⽔平⽅向居中。
(5) Ypos,可选的参数,为数值,成对出现,指定输⼊框的上边与屏幕上边的距离。若省略该参数,则输⼊框在屏幕垂直⽅向距下边约三分之⼀的位置。
(6) Helpfile,可选的参数,为字符串,表⽰帮助⽂件,⽤该⽂件为输⼊框提供上下⽂相关的帮助。若有Helpfile,则必须有Context。
(7) Context,可选的参数,为数值,帮助⽂件中某帮助主题的上下⽂编号。若有Context,则必须有Helpfile。
3、相关说明
(1)如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输⼊框中⾃动添加⼀个帮助(Help)按钮。
(2)如果单击确定(OK)或按下ENTER键,则InputBox函数返回⽂本框中的内容;如果单击取消(Cancel),则此函数返回⼀个长度为零的字符串("")。
(3)如果要输⼊多个参数并省略中间的某些参数,则必须在相应位置加⼊逗号分界符。
(4)InputBox函数返回的是⼀个字符串,若需要得到数值,则需要使⽤Val函数将字符串转换为⼀个值。
⼆、InputBox⽅法
1、作⽤
显⽰⼀个接收⽤户输⼊的对话框,并返回此对话框中输⼊的信息。运⽤InputBox⽅法可以指定需要返回的数据类型,可通过在⼯作表中拖放指定⼯作表的单元格区域,并能⾃动执⾏输⼊有效性验证。
2、语法
Object.InputBox(Prompt,Title,Default,Left,Top,HelpFile,HelpContextID,Type)
参数说明:
(1)Prompt,必需的参数,为string型,表⽰在输⼊框中的⽂本,可为字符串、数字、⽇期或⼀个布尔onpaste不能用input
值(Excel⾃动将值强制转换为string型)。
(2)Title,可选的参数,为Variant型,输⼊框窗⼝的标题。若省略此参数,将使⽤默认的标题。
(3)Default,可选的参数,为Variant型,指定在⽤户没有输⼊内容时⽂本框的默认值。若省略此参数,⽂本框中的内容为空。该值可为⼀个Range对象。
(4)Left,可选的参数,为Variant型。指定输⼊框窗⼝相对于屏幕左上⾓的x坐标。
(5)Top,可选的参数,为Variant型。指定输⼊框窗⼝相对于屏幕左上⾓的y坐标。
(6)HelpFile,可选的参数,为Variant型。表⽰此输⼊框使⽤的帮助⽂件名。若存在HelpFile和HelpContextID参数,则输⼊框中将出现⼀个帮助按钮。
(7)HelpContextID,可选的参数,为Variant型。表⽰帮助主题。
(8)Type,可选的参数,为Variant型,指定返回数据的类型。若省略此参数,输⼊框将返回⽂本。数据类型可以是下表中的其中⼀个或其中⼏个的和。
若使⽤适当代码的和,则返回多种数据类型。若要显⽰⼀个可以接受⽂本或数字的输⼊框,则将Type
设置为3(即1和2之和,或者数字加上⽂本);若Type设置为8,那么可以输⼊⼀个单元格或单元格区域,或者⽤⿏标在⼯作表中的选择某个单元格区域。
InputBox⽅法返回的数据类型代码表
代码说明
0公式
1数字
2字符串(⽂本)
4逻辑值(True或False)
8单元格引⽤,为Range类型的对象
16错误值,如#N/A
64数值数值
3、相关说明
(1)使⽤ InputBox 可以显⽰⼀个简单的对话框,以便输⼊宏所需要的的信息。此对话框有⼀个“确定”按钮和⼀个“取消”按钮。如果选取了“确定”按钮,则InputBox将返回对话框中输⼊的值。如果单击“取消”按钮,则 InputBox 的值为False。
(2)如果Type为 0,InputBox将以⽂本格式返回输⼊的公式。例如,“=2*PI()/360”。如果公式中有引⽤,将以 A1-样式引⽤返回(⽤ConvertFormula⽅法转换引⽤样式)。
(3)如果Type为 8,InputBox将返回⼀个Range对象。必须⽤ Set 语句将结果指定给⼀个Range对象,如下例所⽰。
Set myRange = Application.InputBox(prompt := "Sample", type := 8)
如果不使⽤Set语句,此变量将被设为这个区域的值,⽽不是Range这个对象本⾝。
(4)如果使⽤ InputBox ⽅法要求⽤户输⼊公式,则必须使⽤FormulaLocal属性来将此公式指定给⼀个Range对象。
(5)InputBox⽅法与InputBox函数的区别在于:InputBox⽅法可以对⽤户的输⼊⾃动执⾏输⼊有效性验证,也可⽤于Excel对象、误差值、和公式的输⼊。需要注意的是
Application.InputBox
调⽤的是InputBox⽅法,不带对象识别符的
InputBox
调⽤的是InputBox函数。
4、⽰例
(1)
提⽰⽤户输⼊数字
myNum = Application.InputBox("Enter a number")
(2)
提⽰⽤户在Sheet1中选取⼀个单元格,使⽤Type参数返回有效的单元格引⽤(⼀个Range对象)。Worksheets("Sheet1").Activate
Set myCell = Application.InputBox(prompt:="Select a cell", Type:=8)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论