InputBox函数用法小结

InputBox函数和MsgBox函数很常用,特别是在与用户进行简单的交互时经常用到。
一、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)如果同时提供了HelpfileContext参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
(2)如果单击确定(OK)或按下ENTER键,则InputBox函数返回文本框中的内容;如果单击取消(Cancel),则此函数返回一个长度为零的字符串("")。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
(4)InputBox函数返回的是一个字符串,若需要得到数值,则需要使用Val函数将字符串转换为一个值。
二、InputBox方法
显示一个接收用户输入的对话框,并返回此对话框中输入的信息。运用InputBox方法可以指定需要返回的数据类型,可通过在工作表中拖放指定工作表的单元格区域,并能自动执行输入有效性验证。
Object.InputBox(Prompt,Title,Default,Left,Top,HelpFile,HelpContextID,Type)

            
(1)Prompt,必需的参数,为string型,表示在输入框中的文本,可为字符串、数字、日期或一个布尔值(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
数值数值

            
(1)使用 InputBox 可以显示一个简单的对话框,以便输入宏所需要的的信息。此对话框有一个确定按钮和一个取消按钮。如果选取了确定按钮,则InputBox将返回对话框中输入的值。如果单击取消按钮,则 InputBox 的值为False
(2)如果Type 0InputBox将以文本格式返回输入的公式。例如,“=2*PI()/360”。如果公式中有引用,将以 A1-样式引用返回(用ConvertFormula方法转换引用样式)。
(3)如果Type 8InputBox将返回一个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)
 
展开阅读全文

没有更多推荐了,返回首页