MICROSOFT

EP02. “InputBox Function InputBox 函数”

首页 Microsoft 工具 Excel · VBA · MsgBox · EP02
约 5 分钟· #EP02#Excel#MsgBox
🔒 登录后可标记已读
  • 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]


代码怎么运行

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

方法怎么选

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

学完你会

  • ✅ 会用 InputBox 弹出输入框让用户输入内容
  • ✅ 会用第二、第三个参数加上标题栏文字和默认值
  • ✅ 懂得用 Variant 类型接住 InputBox 的返回值,避免类型不匹配

常见错误

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

Sources

Blog / Website:

  1. InputBox Function