Microsoft Lab
全部软件
Excel消息框(MsgBox)约 5 分钟

InputBox Function 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


代码怎么运行

  1. Alt+F11 打开 VBA 编辑器,Insert›Module,贴入代码
  2. 回到工作表放一个命令按钮,绑定对应的 Sub
  3. 点击按钮,输入框弹出,输入内容后点 OK,观察 A1 的结果

方法怎么选

写法适合场景备注
基础用法(只有提示文字)快速做一个简单的输入互动InputBox("Give me some input")
带标题 + 默认值想让输入框更明确、或提供一个常用值省得用户每次都要打InputBox("提示", "标题", 默认值),用户直接点 OK 就套用默认值

学完你会

常见错误

  • 变量类型声明成 Integer 或 String,结果用户输入了不符合类型的内容(比如该输入数字却输入了文字),会导致类型不匹配报错——用 Variant 更保险,配合 IsNumeric 判断更安全
  • 以为不输入内容点 OK 会得到空字符串,如果代码有设置默认值参数,实际上会拿到默认值而不是空字符串

Sources

Blog / Website:

  1. InputBox Function
只记在你的浏览器里,换设备不会同步。