6.3 与用户交互,简单的输入输出对话框

对话框是程序与用户进行交互的工具,用来输入或输出信息。

6.3.1 InputBox 函数

InputBox函数创建一个接受用户输入的对话框,供用户输入数据。

img552

运行程序后Excel会显示一个对话框,如图6-16所示。

img553

图6-16 运行程序后显示的对话框

根据提示,在对话框中输入姓名后单击【确定】按钮,输入的姓名即可自动写进活动工作表的A1单元格,如图6-17所示。

img554

图6-17 利用对话框输入姓名

编写代码时,所有的参数名称都是可以省略的。

img555

除了 prompt参数外,其实参数都可以省略。

img556

也可以只省略其中的一个或几个参数。

img557

6.3.2 Application 对象的 InputBox 方法

使用Application对象的InputBox方法也可以创建接受用户输入的对话框。

img558

除了 Left与Top参数,InputBox方法的其他参数与InputBox函数的参数的作用相同。

InputBox方法的Left和Top参数指定对话框在Excel工作表窗口中的位置,如图6-18所示,而InputBox函数的xpos与ypos参数指定对话框在整个屏幕窗口中的位置,如图6-15所示。

img559

图6-18 InputBox方法的Top与Left参数

img062 既生InputBox函数,何生InputBox方法

对比一下它们的参数区别,可以知道二者的区别。

完整的参数,可以在VBA帮助里看到,也可以在输入代码的时候,在代码窗口里看到,如图6-19所示。

img560

图6-19 在代码窗口中查看参数

InputBox函数只能返回一个String型的字符串,而InputBox方法返回的数据类型不确定,并且,InputBox方法比InputBox函数多一个Type参数。

img062 Type参数有什么作用" class="reference-link">img062 Type参数有什么作用

设置InputBox方法的Type参数值,指定返回的数据类型,如表6-2所示。

表6-2    Type参数说明

参数值含义
0公式
1数字
2文本(字符串)
4逻辑值(True或False)
8单元格引用(Range对象)
16错误值,如#N/A
64数值数组

下面的程序让用户选择一个单元格区域,然后在单元格区域输入数值100,如图6-20所示。

img561

img562

图6-20 使用InputBox方法

如果返回值为多种类型中的一种,就把Type参数的值设为相应类型的和。

img563