如果仅需要用户在“是”和“否”之间做出选择,使用MsgBox函数就能够满足需要,但是在实际应用中往往需要用户输入更多的内容,如数字、日期或文本,这就需要使用InputBox函数获取用户的输入。 02 InputBox方法 除了InputBox函数,VBA还提供了InputBox方法(使用Application.InputBox调用InputBox方法)用于接收用户输入的信息。二者的用法基本相同,区别在于InputBox方法可以指定返回值的数据类型。其语法格式如下。 其中Left和Top参数分别相当于InputBox函数的xpos和ypos参数。Type参数可以指定InputBox方法返回值的数据类型。如果省略Type参数,输入对话框将返回String类型数据,Type参数的值及其含义如表4-5所示。 表4-5 Type参数的值及其含义 示例4-5 利用InputBox方法输入邮政编码 步 骤 1 在Excel中新建一个空白工作簿文件,按组合键切换到VBE窗口。 步 骤 2 在【工程资源管理器】中插入“模块”,并修改其名称为“InputBoxDemo2”。 步 骤 3 在【工程资源管理器】中双击模块InputBoxDemo2,在【代码】窗口中写入如下代码。 步 骤 4 返回Excel界面,运行ExcelInputBoxDemo过程,将显示输入对话框。如果用户输入的内容包含非数字字符,单击【确定】按钮后,将显示“无效的数字”错误提示对话框,如图4-6所示。 代码解析如下。 第4行代码中设置Type参数为1,对照表4-5可知,输入对话框的返回值为数值型数据。 由于InputBox方法本身可以判断输入内容的数据类型是否符合要求,因此第5行代码中循环终止条件只需要判断输入内容的字符长度是否满足要求即可。 示例4-6 利用InputBox方法输入单元格区域引用地址 步 骤 1 在Excel中新建一个空白工作簿文件,按组合键切换到VBE窗口。 步 骤 2 在【工程资源管理器】中插入“模块”,并修改其名称为“InputBoxDemo3”。 步 骤 3 在【工程资源管理器】中双击模块InputBoxDemo3,在【代码】窗口中写入如下代码。 步 骤 4 返回Excel界面,运行SelectRangeDemo过程,将显示【设置背景色】输入对话框。 步 骤 5 将鼠标指针移至B3单元格,按住鼠标左键,拖曳选中B3:C8单元格区域,输入框中将自动填入选中区域的绝对引用地址“$B$3:$C$8”,如图4-7所示。 步 骤 6 单击【确定】按钮,B3:C8单元格区域的背景色被设置为蓝色。 图4-7 利用InputBox方法输入单元格区域引用地址 代码解析如下。 第3行代码中InputBox方法将用户选中区域所代表的Range对象赋值给变量Rng。 注意 对象变量的赋值需要使用关键字Set。 第4行代码判断用户是否已经选中了工作表中的单元格区域。 第5行代码设置相应单元格区域的填充色为蓝色,其中VBA常量vbBlue代表蓝色。 好书推荐 Good Book Recommendation 北京大学出版社 《用ChatGPT与VBA一键搞定Excel》 |
|
来自: hercules028 > 《excel》