【分享成果,随喜正能量】夜色难免黑凉,前行必有曙光。在心里种花,人生才不会荒芜。距离不是问题,相向而行才是关键。在该奋斗的岁月里,对得起每一寸光阴。于高山之巅,方见大河奔涌于群峰之上,更觉长风浩荡。。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第40讲:InputBox函数与inputbox方法
第四十一讲 InputBox方法与InputBox函数的区别大家好,我们今日继续讲解VBA代码,今日讲解的是第41讲,在Excel中输入简单的数据可以使用InputBox函数显示的对话框,但是如果输入的数据类型不匹配时,过程运行时会产生意外错误。为了避免此类情况发生,可以使用另一种获得用户输入的方式——InputBox方法。
1 InputBox方法InputBox方法显示一个接收用户输入的对话框,返回此对话框中输入的信息,
语法如下:
expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
参数
a) expression是必需的,返回一个Application对象。
b) Prompt是必需的,作为对话框消息显示的字符串表达式。
c) Title是可选的,作为显示在对话框标题栏中的字符串表达式。如果省略Title参数,将使用默认的标题。
d) Default是可选的,在对话框显示时出现在文本框中的初始值。如果省略Default参数,则文本框为空。
e) Left是可选的,指定对话框相对于屏幕左上角的 x 坐标。
Top是可选的,指定对话框相对于屏幕左上角的 y 坐标。
f) HelpFile和参数HelpContextId是可选的,为对话框提供上下文相关的帮助和编号,如果提供了其中一个参数,则必须提供另一个参数,两者缺一不可。
g) Type是可选的,指定返回的数据类型。如果省略Type参数,对话框将返回文本。
- 注意点:
1) InputBox方法的语法和InputBox函数的语法相似,最大的区别在于最后一个参数Type。
通过Type参数可以指定返回值的数据类型:0表示一个公式;1表示一个数字;2表示文本(字符串);4表示一个逻辑值,例如true或False;8 表示一个单元格引用;16表示一个错误值;64表示一个值的数组
2) 这些数值可以相加使用,如果希望返回数字和文本,可以将Type参数设置为1 2。
3) InputBox方法与InputBox函数相比,优点是内置的出错处理;InputBox方法和InputBox函数的另一个区别是,当用户单击“取消”按纽时返回False而不是长度为零的字符串。
4)在VBA代码中,Application.InputBox 调用的是InputBox方法,不带对象识别符的InputBox调用的是InputBox 函数。
2 InputBox方法应用实例下面我们看一个实例对上面例子进行讲解:使用InputBox方法输入数据时可以指定数据的类型,如下面的代码所示。
Sub mynz_41() '41 使用InputBox方法与使用InputBox函数的区别
Dim dInput As Double
Dim r As Integer
r = Sheets("41").Range("A65536").End(xlUp).Row
dInput = Application.InputBox(Prompt:="请输入必要的数字:", Type:=1)
If dInput <> False Then
Sheets("41").Cells(r 1, 1).Value = dInput
Else
MsgBox "你已取消了输入!"
End If
End Sub
代码窗口:
代码解析:mynz_41过程使用InputBox方法显示一个提示用户输入数字的对话框。
1)在第5行代码中将Type参数值设置为1,这意味着对话框只能输入数值。
2)第6行到第10行代码,如果用户单击对话框的“确定”按钮,将用户输入的数字写入工作表的A列单元格。如果用户单击对话框的“取消”按钮,则显示一条提示消息。运行MydInput过程将显示一个提示用户输入数字的对话框。
下面看一下测试结果:
运行窗口:
当录入非数字时显示下面的窗口: