Microsoft Lab
Excel / InputBox Function InputBox 函数
MsgBox第 2 课

InputBox Function InputBox 函数

⏱ 6 分钟🔵 进阶先学过:EP01 MsgBox Function

When什么时候用得到

宏跑到一半,需要问使用者一个数字或名字,例如「要处理几月份的数据?」弹出一个输入框,让他输入,宏再拿去用。

What这是什么

InputBox输入框

弹出一个小窗口,让使用者输入内容。

Variant万用变量

什么类型都能装的盒子,因为使用者可能输入文字,也可能输入数字。

Default value默认值

使用者什么都不输入、直接按 OK 时用的值。

How一步一步做

基本用法:

Sub Get_Input()
    Dim myValue As Variant
    myValue = InputBox("Give me some input")
    Range("A1").Value = myValue
End Sub
  • Dim myValue As Variant:准备一个什么都能装的盒子。
  • myValue = InputBox(...):弹出输入框,使用者输入的内容存进 myValue。
  • Range("A1").Value = myValue:写进 A1。输入 5 按 OK,A1 就是 5。

加标题和默认值:

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。

  1. 1

    按 Alt+F11 → Insert → Module,贴入代码

  2. 2

    回到工作表放一个按钮,绑定这个 Sub

  3. 3

    点按钮,输入内容,按 OK

    A1 出现你输入的内容。

    Hi✕
    Give me some input1
    OKCancel
写法适合
只有提示文字快速做简单的输入
提示 + 标题 + 默认值想让窗口更清楚,或提供常用值

❌ 变量用 Integer,使用者却输入了文字:出现错误。用 Variant 比较保险。

❌ 按了 Cancel 没处理:A1 被清空。

Why为什么这样做

✅ 把「会变的数字」交给使用者输入,宏就不用每次改代码。

📌 按 Cancel,InputBox 会返回空白,写进 A1 就变成空的。需要的话先判断。

Sources

Blog / Website:

  1. InputBox Function
VBA · MsgBox · 第 2 课 ← MsgBox Function MsgBox Close and Open →