> 文章列表 > vba:inputbox

vba:inputbox

vba:inputbox

 

'inputbox函数方法

'1.区别一:外观区别
'InputBox 函数
'在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。

'Application.InputBox 方法
'显示一个接收用户输入的对话框。返回此对话框中输入的信息。
'------------------------------------------------------------------------------------------

Sub test1()
sr = InputBox("请输入内容!") '函数
sr = Application.InputBox("请输入内容!") '方法
End Sub

'----------------------------------------------------------

'2.参数区别
'inputbox函数与方法的主要区别:

'       InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) 函数
'表达式.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type) 方法
'主要区别:方法比函数多了一个参数(type-指定返回的数据类型。如果省略该参数,对话框将返回文本。).

'3.按扭返回值区别

Sub test2()
hs = InputBox("请输入内容!") '函数
ff = Application.InputBox("请输入内容!") '方法
End Sub
'小结:函数取消按钮返回值"",而方法是false


案例:

Sub test()
1:
n = n + 1
If n > 3 Then Exit Sub
user = InputBox("请输入用户名", "用户")
If user = "" Then MsgBox "用户名不能为空": GoTo 1
Set yh = Sheet1.Range("a:a").Find(user, , , xlWhole)
'MsgBox yh.Offset(0, 1).Value
If yh Is Nothing Then
GoTo 1
End If

2:
m = m + 1
If m > 3 Then Exit Sub
pass = InputBox("请输入密码", "密码")
If pass = "" Then MsgBox "密码不能为空": GoTo 2
If pass * 1 <> yh.Offset(0, 1).Value Then
GoTo 2
End If
MsgBox "登录成功"
End Sub


'   值      含义
'   0       公式
'   1       数字
'   2       文本 (字符串)
'   4       逻辑值(True 或 False)
'   8       单元格引用,作为一个 Range 对象
'   16      错误值,如 #N/A
'   64      数值数组

Sub test()
 ff = Application.InputBox("", "请输入公式", Type:=8)
End Sub

Sub test2() '可以比selection更方便选择数据
ff = Application.InputBox("", "选择区域", Type:=8)
End Sub

Sub 筛选不重复值()
On Error GoTo 100
Dim d As Object, cf
Set d = CreateObject("scripting.dictionary")
qy = Application.InputBox("", "选择要进行不重复筛选的区域", , , , , , 8)
For Each cf In qy
    d(cf) = ""
Next
    Set ff = Application.InputBox("", "要放置的区域", , , , , , 8)
    ff.Resize(d.Count) = Application.Transpose(d.keys)
100:
End Sub