inputBox 与 Application.inputBox 的用法与区别。
在输入对话框在VBA中有两种形式,分别是:
- InputBox
- Expression.InputBox
二者在大致功能上基本相同,个人认为二者重点差异为:
- 后者有 Type 参数,可以限制输入类型,同时可以引用单元格 ;
- 二者输入时, 空值、取消 的返回值不同。
二者语法分别如下:
InputBox ( prompt, [title], [default], [xpos], [ypos], [helpfile], [context] )
Part | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Prompt | 必需 | String | 字符串表达式在对话框中显示为消息。 prompt 的最大长度约为 1024 个字符,具体取决于所使用的字符的宽度。 如果_prompt_包含多行, 则可以使用回车符 (chr(13))、换行符 (chr(10)) 或回车换行符组合 ((chr (13) & ((chr (13)) 来分隔行。 ((chr(13) (**** 每个行的 Chr (10))。 |
Title | 可选 | Variant | 对话框标题栏中显示的字符串表达式。 如果省略 title,则标题栏中将显示应用程序名称。 |
Default | 可选 | Variant | 文本框中显示的字符串表达式,在未提供其他输入时作为默认响应。 如果省略了 default,文本框将显示为空。 |
XPos | 可选 | Variant | 指定对话框的左边缘与屏幕的左边缘的水平距离(以缇为单位)的数值表达式。 如果省略了 xpos,对话框将水平居中。 |
YPos | 可选 | Variant | 指定对话框的上边缘与屏幕的顶部的垂直距离(以缇为单位)的数值表达式。 如果省略了 ypos,对话框将位于屏幕垂直方向往下大约三分之一的位置。 |
Helpfile | 可选 | Variant | 用于标识帮助文件的字符串表达式,前者用于为对话框提供上下文相关的帮助。 如果提供 helpfile,则也必须提供 context。 |
Context | 可选 | Variant | 帮助上下文数值的数值表达式,该数值由帮助作者为相应的帮助主题分配。 如果提供 context,则也必须提供 helpfile。 |
expression.InputBox ( Prompt, [Title], [Default], [Left], [Top], [HelpFile], [HelpContextID], [Type] )
expression:表示 Application 对象的变量。
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Prompt | 必需 | String | 要在对话框中显示的消息。 此参数可以是字符串、数字、日期或布尔值(在消息显示前,Microsoft Excel 会自动将此值强制转换为 String )。 |
Title | 可选 | Variant | 输入框的标题。 如果省略此参数,则默认标题为“输入”。 |
Default | 可选 | Variant | 指定在对话框最初显示时文本框中显示的值。 如果省略此参数,即表示将文本框留空。 此值可以是 Range 对象。 |
Left | 可选 | Variant | 指定对话框相对于屏幕左上角的 X 坐标(以磅为单位)。 |
Top | 可选 | Variant | 指定对话框相对于屏幕左上角的 Y 坐标(以磅为单位)。 |
HelpFile | 可选 | Variant | 此输入框使用的帮助文件名。 如果有 HelpFile 和 HelpContextID 参数,对话框中会显示帮助按钮。 |
HelpContextID | 可选 | Variant | HelpFile 中帮助主题的上下文 ID 号。 |
Type | 可选 | Variant | 指定返回的数据类型。 如果省略此参数,则对话框返回文本。 |
其中,参数 Type 可以选择以下值:
注: 可以是一个值,也可以将多个值相加。 例如,对于可接受文本和数字的输入框,将 Type 设置为 1 + 2。
值 | 说明 |
---|---|
0 | 公式 |
1 | 数字 |
2 | 文本(字符串) |
4 | 逻辑值(True 或 False) |
8 | Range 对象形式的单元格引用 |
16 | 错误值,如 #N/A |
64 | 数值数组 |
- 如果 Type = 0,InputBox 返回文本格式的公式(例如,=2*PI()/360)。
只要公式中有引用,就会以 R1C1样式 引用的形式返回。 (ConvertFormula 可用于转换引用样式。)
注: 在微软的官方介绍中,公式引用形式是以 A1样式 返回,但是实测效果入下,我所使用的是 Excel 2016 订阅版。
Sub 测试1()Dim ValVal = Application.InputBox("选择单元格", Type:=0)MsgBox Val
End Sub
- 如果 Type = 8,InputBox 返回 Range 对象。 必须使用 Set 语句,将结果分配给 Range 对象。
注: 如果不使用 Set 语句,此变量就会被设置为区域中的值,而不是 Range 对象本身。如下面的示例所示。
Sub 测试2()Dim ValSet Val = Application.InputBox("选择单元格", Type:=8)MsgBox TypeName(Val)Val = Application.InputBox("选择单元格", Type:=8)MsgBox TypeName(Val)End Sub
InputBox 与 Application.InputBox 的 空值、取消 时的返回值。
- inputBox 输入 空值 或点击 取消 时,均返回空值。
- application.InputBox 输入 空值 时返回空,点击 取消 时返回 False。
以下两段代码分别可以用于判断用户当前执行了输入值、输入空值、点击取消(关闭)
Sub 测试3()Dim KeyKey = InputBox("请输入关键词", "这是 InputBox 测试")If StrPtr(Key) = 0 ThenMsgBox "点击了取消或是直接关闭了窗口。"ElseIf StrPtr(Key) <> 0 ThenIf Len(Key) = 0 ThenMsgBox "输入了空白值。"ElseIf Len(Key) <> 0 ThenMsgBox "输入的Key值为:" & KeyEnd IfEnd If
end sub
Sub 测试4()Dim KeyKey = Application.InputBox("请输入关键词", "这是一个测试")If Key = "False" Then 'False 加双引号的原因请见后文MsgBox "点击了取消或是直接关闭了窗口。"ElseIf Key = "" ThenMsgBox "输入了空白值。"ElseIf Len(Key) <> 0 ThenMsgBox "输入的Key值为:" & KeyEnd IfEnd If
End Sub
inputBox 与 Application.inputBox 的用法与区别。相关推荐
- VBA,使用inputbox() 和 application.inputbox() ,以及参数按次序,按名称传递的方式的差别
1 inputbox() 和 application.inputbox() 的语法和功能差别 1.1 inputbox() 基本语法 InputBox(prompt[, title] [, defa ...
- vba 判断文本框内容是否为空_Excel/VBA编程用户交互函数(二)——InputBox()函数和inputbox方法...
在上一篇文章Excel/VBA编程用户交互函数(一)--msgbox()函数中,小伙伴们了解了消息弹窗的知识,今天我们来学习一下Excel/VBA编程的第二个用户交互函数Inputbox()函数及In ...
- Spark中CheckPoint、Cache、Persist的用法、区别
Spark中CheckPoint.Cache.Persist 大家好,我是一拳就能打爆A柱的猛男 这几天看到一套视频<尚硅谷2021迎新版大数据Spark从入门到精通>,其中有关于检查点( ...
- @ini_get php,php中get_cfg_var()和ini_get()的用法及区别_php技巧_脚本之家
本文实例讲述了php中get_cfg_var()和ini_get()的用法及区别.分享给大家供大家参考.具体分析如下: php里get_cfg_var()和ini_get()都是取得配置值的函数,当你 ...
- return true Java_[Java教程]js中return,return true,return false的用法及区别
[Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...
- 【Java学习笔记之二十九】Java中的equals和==的用法及区别
Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String(&quo ...
- python ord()与chr()用法以及区别
python ord()与chr()用法以及区别 原文:http://blog.csdn.net/yulock/article/details/52904035 ord()函数主要用来返回对应字符的a ...
- matlab ezplot fplot,【转】Matlab plot fplot ezplot用法与区别
[转]Matlab plot fplot ezplot用法与区别 (2012-04-19 20:26:00) 标签: matlab fplot ezplot 数学函数 曲线 杂谈 函数plot 是绘制 ...
- ASP.NET中application对象的用法(面试题)
ASP.NET中application对象的用法 本文导读:Application对象是HttpApplicationState类的一个实例,Application状态是整个应用程序全局的.Appli ...
- TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别
TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...
最新文章
- VS2008正式版创建silverlight项目失败的解决办法
- SpringCloud组件 源码剖析:Eureka服务注册方式流程全面分析
- java正三角形程序怎么写,java实现正三角形和到正三角形
- 代码收藏——js+asp 的屏幕滚动脚本
- 使用Redis Stream来做消息队列和在Asp.Net Core中的实现
- 在无头单链表的一个非头节点前插入一个节点(C语言)
- Python---String 字符串类型
- OpenCV2计算机编程手册(二)基于类的图像处理
- XStream 解析 XML 深入剖析
- 计算机测色配色应用,计算机测配色方法及注意事项
- Maven 阿里云配置 此 MAVEN 配置地表最强不接受反驳
- Puppet原理及基础配置应用
- 淘口令是什么?淘口令怎么在电脑上打开?【已解决】
- 使用geotools构建特殊的多边形
- wordpress 文章插入的超链接访问不了
- eclipse创建maven项目没有maven dependence
- 嵌入式–滑动平均滤波算法
- 小白的测试人生(二)——软件测试行业发展现状及前景
- linux 安装php8.1 ZipArchive和libzip最新版扩展安装
- 自动化运维批量管理saltstack
热门文章
- mysql数据库character_关于MySQL如何修改character
- 《大型分布式网站架构设计与实践》
- 极坐标弧长积分公式简单理解 极坐标求面积的公式,dθ 弧长积分公式,rd​原理; 极坐标弧积分
- huobi API使用经验整理
- matlab求解vrp问题遗传算法,vrp问题(遗传算法vrp问题)
- Char类的常用方法及说明
- 一块蛋清皂,把毛孔洗得一干二净
- 终于考过了驾照考试,现在就=驾照下来了
- 那些年我们踩过的坑——Java中Date夏令时日期转换不一致问题
- java 传参数报文给and_技术岛-技术改变生活