EP02. “InputBox Function InputBox 函数”
🔒 登录后可标记已读- InputBox 用来弹出一个输入框,让用户在运行宏的当下手动输入内容
- 输入的值会写进单元格或用于后续计算
- 这篇教你 InputBox 的基础用法,以及带标题、带默认值的进阶写法
- 前置知识:知道怎么声明变量
- 学完能做出简单的"要求用户输入"互动
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
基础用法
Sub Get_Input()
Dim myValue As Variant
myValue = InputBox("Give me some input")
Range("A1").Value = myValue
End Sub
代码说明:
Dim myValue As Variant:变量类型用 Variant,因为用户可能输入文字、数字等不同类型的内容,Variant 什么都能装myValue = InputBox("Give me some input"):弹出带提示文字的基础输入框Range("A1").Value = myValue:把用户输入的值写进 A1;比如输入数字 5 并点 OK,A1 就会显示 5
[截图:运行基础用法宏后弹出的 InputBox,只有提示文字 "Give me some input" 和输入框]
带标题和默认值的写法
Sub Get_Input_With_Default()
Dim myValue As Variant
myValue = InputBox("Give me some input", "Hi", 1)
Range("A1").Value = myValue
End Sub
三个参数依序是:提示文字、标题栏文字("Hi")、默认值(1)——如果用户什么都不输入直接点 OK,会直接使用默认值 1。
[截图:带标题和默认值的 InputBox,标题栏显示 "Hi",输入框里已预填默认值 1]
代码怎么运行
Alt + F11打开 VBA 编辑器,Insert → Module,贴入代码- 回到工作表放一个命令按钮,绑定对应的 Sub
- 点击按钮,输入框弹出,输入内容后点 OK,观察 A1 的结果
方法怎么选
| 写法 | 适合场景 | 备注 |
|---|---|---|
| 基础用法(只有提示文字) | 快速做一个简单的输入互动 | InputBox("Give me some input") |
| 带标题 + 默认值 | 想让输入框更明确、或提供一个常用值省得用户每次都要打 | InputBox("提示", "标题", 默认值),用户直接点 OK 就套用默认值 |
学完你会
- ✅ 会用 InputBox 弹出输入框让用户输入内容
- ✅ 会用第二、第三个参数加上标题栏文字和默认值
- ✅ 懂得用 Variant 类型接住 InputBox 的返回值,避免类型不匹配
常见错误
- 变量类型声明成 Integer 或 String,结果用户输入了不符合类型的内容(比如该输入数字却输入了文字),会导致类型不匹配报错——用 Variant 更保险,配合
IsNumeric判断更安全 - 以为不输入内容点 OK 会得到空字符串,如果代码有设置默认值参数,实际上会拿到默认值而不是空字符串
Sources
Blog / Website: