如果需要在宏的控制下从用户那里获取输入,则可以使用的一种方法是采用InputBox函数。此功能显示一个对话框,并允许用户键入响应。结果是一个字符串,返回到宏,然后可以对其进行处理和使用。

InputBox函数的语法如下:

sResponse = InputBox(sPrompt, sTitle, sDefault)

您可以将三个参数与InputBox一起使用(每个参数都是字符串),尽管绝对需要第一个参数。使用此语法,sPrompt是要显示为用户提示的文本,sTitle是要显示在对话框标题栏中的文本,sDefault是在对话框中提供给用户的默认文本字符串。用户可以根据需要编辑或接受默认字符串。

例如,以下代码行可用于显示对话框并询问用户其姓名:

Dim sUserName as String Dim sPrompt as String Dim sTitle as String Dim sDefault as String

sPrompt = "Please check your name and make any corrections"

sTitle = "Name Entry"

sDefault = "John Doe"

sUserName = InputBox(sPrompt, sTitle, sDefault)

完成此代码后,sUserName变量将包含用户输入的任何内容。然后,您可以在宏中以您认为合适的任何其他方式使用该输入。

InputBox函数非常适合一次获取一个数据,因为您只能使用它发布一个“问题”。如果需要在宏中使用一堆用户输入,则需要依赖UserForm或直接从工作表中获取输入。 (这两种方法已在其他_ExcelTips_中进行了讨论。)

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本提示(11416)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Getting_User_Input_in_a_Dialog_Box [在对话框中获取用户输入]。