重点内容
适用版本
桌面版通用(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 编辑器,,贴入代码
- 回到工作表放一个命令按钮,绑定对应的 Sub
- 点击按钮,输入框弹出,输入内容后点 OK,观察 A1 的结果
方法怎么选
| 写法 | 适合场景 | 备注 |
|---|---|---|
| 基础用法(只有提示文字) | 快速做一个简单的输入互动 | InputBox("Give me some input") |
| 带标题 + 默认值 | 想让输入框更明确、或提供一个常用值省得用户每次都要打 | InputBox("提示", "标题", 默认值),用户直接点 OK 就套用默认值 |
学完你会
常见错误
- 变量类型声明成 Integer 或 String,结果用户输入了不符合类型的内容(比如该输入数字却输入了文字),会导致类型不匹配报错——用 Variant 更保险,配合
IsNumeric判断更安全 - 以为不输入内容点 OK 会得到空字符串,如果代码有设置默认值参数,实际上会拿到默认值而不是空字符串
Sources
Blog / Website: