Application.InputBox介绍

使用 Application.InputBox 方法

Excel 的 Application.InputBox 方法与 VBA 中的 InputBox() 函数不同,因为 VBA 会弹出一个模态对话框,并且始终返回一个文本值,而 Excel 的 Application.InputBox 会弹出一个半模态对话框,允许用户在工作簿中选择单元格;它还可以验证用户输入,并能够捕获 Excel 对象错误和公式值。Application.InputBox 方法的语法如下:

Application.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

在这段代码中:

  • Prompt:这是必填项;它是一个字符串,表示在对话框中显示的消息。
  • Title:这是可选项;它是一个字符串,表示对话框的标题。
  • Default:这是可选项;它指定了当对话框首次显示时文本框中的默认值。如果省略,则文本框为空(也可以定义为一个 Range 对象)。
  • Left:这是可选项;它指定对话框相对于屏幕左上角的 x 位置,单位为磅(points)。
  • Top:这是可选项;它指定对话框相对于屏幕左上角的 y 位置,单位为磅(points)。
  • HelpFile:这是可选项;它是与输入框关联的帮助文件的名称。如果提供了 HelpFileHelpContextID 参数,帮助按钮将出现在对话框中。
  • HelpContextID:这是可选项;它是帮助文件中帮助主题的上下文 ID 号。
  • Type:这是可选项;它指定返回的数据类型。如果省略该参数,则对话框返回文本。

表:允许传递给 Application.InputBox 方法的 Type 参数值和返回值

Type 值返回值
0公式(以 = 开头的字符串)
1数字
2文本(默认)
4逻辑值(True 或 False)
8Range 对象
16错误对象(Error)
64数组值

在表中,”返回值” 列表示,除了在用户点击取消按钮时返回 False 外,Application.InputBox 方法还可以返回不同类型的值、数组,甚至对象指针(例如 Range 或 Error)。

你可以在 VBA 立即窗口中尝试 Application.InputBox() 方法,键入一个至少包含 Prompt 参数的命令行(默认情况下使用 Type = Text):

? Application.InputBox("选择一个单元格")

通过点击任何单元格的值,Application.InputBox 方法会在立即窗口中返回该单元格的值。

Scroll to Top