新浪博客

vba中inputbox函数与方法的区别

2016-12-28 20:35阅读:
今天了解到inputbox的函数与方法的区别:
sr=inputbox(“请输入内容!”,,'用户名') '函数
sr=application.inputbox('请输入内容!')'方法
返回值不同:
1、点击取消,函数返回值为“”;方法返回为false。
2、界面不同
函数:
vba中inputbox函数与方法的区别
方法:
vba中inputbox函数与方法的区别
3、参数区别
(1)函数 InputBox(prompt[, title] [, default]
[, xpos] [, ypos] [, helpfile, context])
InputBox 函数的语法具有以下几个命名参数
部分 描述
Prompt 必需的。作为对话框消息出现的字符串表达式prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 prompt 包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
Title 可选的。显示对话框标题栏中的字符串表达式。如果省略 title,则把应用程序名放入标题栏中。
Default 可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 default,则文本框为空。
Xpos 可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略 xpos,则对话框会在水平方向居中。
Ypos 可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略 ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
Helpfile 可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供 helpfile,则也必须提供 context
Context 可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供 context,则也必须要提供 helpfile
(2)方法
表达式.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)
表达式 一个代表 Application 对象的变量。
参数
名称 必选/可选 数据类型 说明
Prompt 必选 String 要在对话框中显示的消息。可为字符串、数字、日期、或布尔值(在显示之前,Microsoft Excel 自动将其值强制转换为 String)。
Title 可选 Variant 输入框的标题。如果省略该参数,默认标题将为“Input”。
Default 可选 Variant 指定一个初始值,该值在对话框最初显示时出现在文本框中。如果省略该参数,文本框将为空。该值可以是 Range 对象。
Left 可选 Variant 指定对话框相对于屏幕左上角的 X 坐标(以(磅:指打印的字符的高度的度量单位。1 磅等于 1/72 英寸,或大约等于 1 厘米的 1/28。)为单位)。
Top 可选 Variant 指定对话框相对于屏幕左上角的 Y 坐标(以磅为单位)。
HelpFile 可选 Variant 此输入框使用的帮助文件名。如果存在 HelpFileHelpContextID 参数,对话框中将出现一个帮助按钮。
HelpContextID 可选 Variant HelpFile 中帮助主题的上下文 ID 号。
Type 可选 Variant 指定返回的数据类型。如果省略该参数,对话框将返回文本。

返回值
Variant
说明
下表列出了可以在 Type 参数中传递的值。可以为下列值之一或其中几个值的和。例如,对于一个可接受文本和数字的输入框,将 Type 设置为 1 + 2。
含义
0 公式
1 数字
2 文本(字符串)
4 逻辑值(TrueFalse
8 单元格引用,作为一个 Range 对象
16 错误值,如 #N/A
64 数值数组

使用 InputBox 可以显示一个简单的对话框,以便可以输入要在宏中使用的信息。此对话框有一个“确定”按钮和一个“取消”按钮。如果选择了“确定”按钮,则 InputBox 将返回对话框中输入的值。如果单击“取消”按钮,则 InputBox 返回 False
如果 Type 为 0,InputBox 将以文本格式返回公式。例如,“=2*PI()/360”。如果公式中有引用,将以 A1-样式引用返回(使用 ConvertFormula 转换引用样式)。
如果 Type 为 8,InputBox 将返回一个 Range 对象。您必须用 Set 语句将结果指定给一个 Range 对象,如下例所示。
Visual Basic for Applications
Set myRange = Application.InputBox(prompt := 'Sample', type := 8)

如果不使用 Set 语句,此变量将被设置为这个区域的值,而不是 Range 这个对象本身。
如果使用 InputBox 方法要求用户输入公式,则必须使用 FormulaLocal 属性来将此公式指定给一个 Range 对象。输入的公式使用用户语言。
InputBox 方法与 InputBox 函数的区别在于:它可以对用户的输入进行选择性验证,也可用于 Microsoft Excel 对象、误差值、和公式的输入。注意,Application.InputBox 调用的是 InputBox 方法,不带对象识别符的 InputBox 调用的是 InputBox 函数。

我的更多文章

下载客户端阅读体验更佳

APP专享