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)如果同时提供了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型,表示在输入框中的文本,可为字符串、数字、日期或一个布尔值(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)
posted on 2008-06-02 15:41  Suntears  阅读(5356)  评论(0编辑  收藏  举报
点击这里给我发消息