inputbox 和 msgbox 用法实例 VBA 基础弹窗演示
inputbox 和 msgbox 是 VBA 里面最常用的两个内置弹窗函数,inputbox 作用是弹出输入窗口,接收用户手动输入的文本内容,并且把输入内容返回给变量,msgbox 作用是弹出提示窗口,用来展示文字信息,还可以选择按钮样式并且获取用户点击的按钮返回值,两个函数经常搭配在一起使用,inputbox 负责收集用户数据,msgbox 负责输出处理结果,适合写简易交互小程序,在 Excel VBA Access VBA 里面都可以直接调用,不需要额外添加控件,上手简单,但是很多新手容易混淆二者返回值类型,还有按钮参数写法,下面深度讲解语法规则和完整可运行实例。
基础语法对照表
| 函数 | 核心功能 | 返回内容 | 常用参数 |
|---|---|---|---|
| inputbox | 弹出输入框,等待用户输入 | 用户输入的字符串,如果点取消返回空字符串 | 提示文字 窗口标题 默认值 |
| msgbox | 弹出提示框,展示信息,可设置按钮图标 | 整数型返回值,代表用户点击了哪个按钮 | 提示文字 按钮组合 + 图标 窗口标题 |
详细语法说明
inputbox 语法
InputBox Prompt Title Default
Prompt 就是弹窗里面显示的提示文字,告诉用户需要输入什么内容
Title 是弹窗顶部标题栏文字,可以省略
Default 是输入框里面预先填好的默认内容,可以省略
重点注意,inputbox 默认返回类型永远是文本字符串,就算用户输入数字,得到的也是文本型数字,如果后续要做加减乘除运算,必须用转换函数转成数值,不然会出现类型错误。用户点击取消按钮的时候,函数返回空字符串,代码里面一定要做判断,防止空值参与运算报错。
msgbox 语法
MsgBox Prompt Buttons Title
Prompt 是弹窗显示的正文内容
Buttons 参数用来控制弹窗出现哪些按钮,还有图标样式,比如确定 确定取消 是与否取消,同时可以搭配警告图标 信息图标 错误图标
Title 是窗口标题
msgbox 的返回值是数字常量,比如点击确定返回 1,点击取消返回 2,点击是返回 6,点击否返回 7,可以根据这个返回值写分支判断,实现确认操作的逻辑。如果不需要判断用户点击哪个按钮,可以直接写 msgbox,不接收返回值。
完整代码实例
实例 1 inputbox 收集数字 msgbox 输出计算结果
Sub 计算演示
Dim num As String
Dim result As Double
num = InputBox ("请输入一个数字", "数字输入")
If num = "" Then
MsgBox "你点击了取消,程序退出", , "提示"
Exit Sub
End If
result = CDbl (num) 2
MsgBox "输入数字乘以 2 的结果是" & result, , "计算结果"
End Sub
这个实例演示基础流程,先用 inputbox 拿到输入内容,判断是不是空值,转换类型之后运算,最后 msgbox 弹出结果。
实例 2 msgbox 带确认按钮分支判断
Sub 确认删除演示
Dim res As Integer
res = MsgBox ("确定要执行删除吗", vbYesNo + vbQuestion, "确认窗口")
If res = vbYes Then
MsgBox "已经执行删除操作", , "提示"
Else
MsgBox "已经取消删除操作", , "提示"
End If
End Sub
这个实例重点演示 msgbox 的按钮参数和返回值判断,根据用户选择是或者否执行不同代码分支。
实例 3 inputbox 和 msgbox 组合登录简易验证
Sub 登录验证演示
Dim pwd As String
pwd = InputBox ("请输入密码", "登录窗口")
If pwd = "123456" Then
MsgBox "密码正确登录成功", vbInformation, "登录结果"
Else
MsgBox "密码错误登录失败", vbCritical, "登录结果"
End If
End Sub
常见踩坑要点
1 inputbox 输入数字直接运算报错,根源就是没有做类型转换,文本不能直接参与数学计算
2 inputbox 点取消返回空字符串,如果代码没有判断空值,后续转换数值的时候直接抛出类型不匹配错误
3 msgbox 如果要接收返回值,函数外面必须加括号,如果只是单纯弹出提示不需要返回值,不能加括号,这个是新手高频语法错误
4 inputbox 只能输入单行文本,不支持多行输入,也不能设置下拉选择,复杂输入场景就不适合继续使用 inputbox,需要换成用户窗体 UserForm
5 msgbox 弹窗是模态窗口,代码会暂停运行,必须等用户点击按钮关闭弹窗之后,后面代码才继续执行
学习练习步骤
第一步 打开 Excel,按下 Alt 加 F11 进入 VBA 编辑器,插入标准模块
第二步 复制上面实例代码,粘贴到模块里面
第三步 按 F5 运行代码,观察 inputbox 弹窗弹出,输入内容测试
第四步 修改 msgbox 的 buttons 参数,更换不同按钮和图标,观察弹窗变化
第五步 修改 inputbox 的提示文字和标题,增加空值判断和异常处理,加深理解
inputbox 和 msgbox 属于 VBA 交互入门核心组件,适合小型自动化脚本快速实现人机交互,不需要复杂界面,但是功能有局限性,掌握基础实例之后,就可以把这套组合用到表格批量处理 数据录入确认这类自动化任务里面。
【常见问题】
问题 1 inputbox 和 msgbox 能不能单独使用
回答 1 inputbox 和 msgbox 可以单独使用,inputbox 单独使用用来获取用户输入,msgbox 单独使用用来弹出提示信息,二者不是强制绑定,只是搭配使用是最常见的开发方式。
问题 2 inputbox 和 msgbox 在 VB6 里面还可以使用吗
回答 2 inputbox 和 msgbox 在 VB6 里面同样可以直接调用,语法和 Excel VBA 基本一致,依旧支持输入获取和弹窗提示还有按钮返回值。
问题 3 inputbox 和 msgbox 运行报错类型不匹配是什么原因
回答 3 inputbox 和 msgbox 相关代码出现类型不匹配,大多是 inputbox 拿到的文本没有转成数值就参与运算,或者 msgbox 接收返回值的时候语法括号书写错误。
问题 4 inputbox 和 msgbox 支持中文吗
回答 4 inputbox 和 msgbox 支持中文,提示文字窗口标题都可以填写中文,只要系统区域编码正常,中文就可以正常显示不会乱码。
【免责申明】
本文内容仅作为 VBA 编程学习参考,代码实例基于 Excel VBA 环境编写,不同版本 Office 和 VB 环境存在少量差异,运行代码前建议备份文件,因修改宏代码启用宏造成文件异常或者数据损坏,由操作者自行承担,正式业务程序建议增加完善错误捕获处理。
相关阅读
-
番茄牛肉汤想要汤头红亮浓郁牛肉软嫩不柴,核心要点是牛肉提前冷水浸泡去血水再焯水,番茄一定要炒出沙释放番...浏览全文>>
-
ios13 升级分为手机 OTA 在线升级和电脑 iTunes 刷机升级两种办法,但是现在有一个关键前提,苹果早就关...浏览全文>>
-
炖排骨想要好吃,核心就是冷水焯水去血沫,煸炒锁香之后小火慢炖,成品肉质脱骨不柴,汤汁醇厚咸鲜,既可以做...浏览全文>>
-
核心结论 ions 本质是名词后缀 ion 的复数形式,ion 是英语非常高频的名词后缀,把动词变成抽象名词,意...浏览全文>>
-
internet 协议 4 也就是 Internet 协议版本 4,简称 IPv4,就是我们常说的 IPV4 地址设置,一般分为...浏览全文>>
-
豆腐卷一般分两种,一种是干豆腐皮卷馅做成的卷,还有成品素豆腐卷,质地紧实,豆香浓郁,可以凉拌煎炒卤炖,...浏览全文>>
-
冬瓜肉质清淡吸味,热量低,适合清炒、炖煮、红烧、煲汤、蒸制、做馅、涮锅等多种做法,它本身味道寡淡,最大...浏览全文>>
-
ins 全称 Instagram,它是美国的互联网社交平台,最早由美国本土团队独立开发上线,后续被 Meta 公司收购...浏览全文>>
-
电饭煲焗鸡是不用烤箱,依靠电饭煲密闭加热,把鸡肉焖焗熟透,成品皮滑肉嫩,自带咸香入味,属于懒人家常菜,...浏览全文>>
-
inputbox 和 msgbox 是 VBA 里面最常用的两个内置弹窗函数,inputbox 作用是弹出输入窗口,接收用户手动...浏览全文>>
- 电饭煲焗鸡的做法 懒人盐焗风味
- 单招面试怎样穿衣 穿搭搭配和避坑指南
- idpa 证书有什么用 国际设计专业认证用途详解
- 茶话会有什么话题 轻松座谈选题大全
- 菜焖大米饭的做法 家常一锅焖饭
- hungry 的比较级和最高级 形容词变形考点详解
- 紫薯怎么做好吃 多种家常做法详解
- 怎么发面做馒头 暄软成功版
- 圆柱表面积 公式详解
- honor7x 怎么隐藏应用 操作方法详解
- her 含义用法详解
- 香茶属于什么茶 品类说明详解
- grain 的第三人称单数 动词变形与用法详解
- 藕饼夹肉的做法 外酥里嫩香煎藕夹
- 梦见大鱼吃小鱼 梦境寓意解析
- 麦片粥简单做法 快手早餐详解
- fpx 队员谁是韩国的 fpx 有几名队员 战队外援与大名单解析
- finnish 是哪个国家 芬兰相关基础认知
- 酒店里有什么菜 菜单品类介绍
- fgo 五星之耻是哪几个 玩家俗称争议解析
