目录:
视频: 04 如何自訂表單讓輸入更流暢從Excel到VBA巨量資料庫應用1 2024
VBA InputBox函数对于获取用户在Excle 2016中键入的单个信息非常有用。该信息可以是值,文本字符串甚至范围地址。当您只需要一个值时,这是开发UserForm的一个很好的选择。
InputBox语法
以下是InputBox函数语法的简化版本:
InputBox(prompt [,title] [,default])
InputBox函数接受此处列出的参数。
<!参数 | 影响 |
---|---|
提示 | 输入框中显示的文本 |
标题 | 显示在输入框标题栏
中的文本(可选) |
默认 | 用户输入的默认值(可选) |
一个InputBox示例
下面是一个声明,显示如何使用InputBox函数:
<! - 2 - >TheName = InputBox(“What is your name?”,“Greetings”)
当您执行此VBA语句时,Excel将显示此对话框。请注意,此示例仅使用前两个参数,并且不提供默认值。当用户输入一个值并单击OK时,代码将该值赋给变量TheName。
<! InputBox函数显示这个对话框。以下示例使用第三个参数并提供默认值。默认值是Excel存储的用户名(Application对象的UserName属性)。
Sub GetName()Dim TheName As String TheName = InputBox(“What is your name?”,_“Greetings”,Application。UserName)End Sub
InputBox总是显示一个Cancel按钮。如果用户单击取消,InputBox函数返回一个空字符串。 VBA的InputBox函数总是返回一个字符串,所以如果你需要得到一个值,你的代码需要做一些额外的检查。以下示例使用InputBox函数来获取一个数字。它使用IsNumeric函数来检查字符串是否是一个数字。如果字符串包含一个数字,一切都很好。如果用户的输入不能被解释为一个数字,代码会显示一个消息框。
Sub AddSheets()Dim Prompt As String Dim Caption As String Dim DefValue As Long Dim NumSheets As String Prompt =“您要添加多少张? “Caption =”Tell me …“DefValue = 1 NumSheets = InputBox(Prompt,Caption,DefValue)If NumSheets =”“Then Exit Sub'如果IsNumeric(NumSheets)则取消,然后如果NumSheets> 0则表格。 Add Count:= NumSheets Else MsgBox“Invalid number”End If End Sub
检查此例程产生的对话框。
使用InputBox函数的另一个例子。另一种类型的InputBox
<! --1 - >这里介绍的信息适用于VBA的InputBox函数。微软似乎喜欢混淆,所以你也可以访问InputBox
方法,这是Application对象的一个方法。 使用Application InputBox方法的一大优势是您的代码可以提示进行范围选择。用户可以通过突出显示单元格来选择工作表中的范围。以下是一个提示用户选择范围的简单示例: <! Sub - GetRange()Dim Rng As Range On Error Resume Next设置Rng = Application。 InputBox _(提示:=“指定范围:”,类型:= 8)如果Rng是Nothing然后退出子MsgBox“您选择的范围”&Rng。地址结束小组
这是它的样子。
使用Application InputBox方法获取范围。在这个简单的例子中,代码告诉用户所选范围的地址。在现实生活中,你的代码实际上会对选定的范围做一些有用的事情。这个例子的一个好处是,Excel负责处理错误。如果你输入的不是范围内的东西,Excel会告诉你这个信息,并让你再试一次。