Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel用户表单VBA VLOOKUP_Vba_Excel_Excel Formula_Userform - Fatal编程技术网

Excel用户表单VBA VLOOKUP

Excel用户表单VBA VLOOKUP,vba,excel,excel-formula,userform,Vba,Excel,Excel Formula,Userform,我正在创建一个userform,其中基于名为“ContractsList”的项目下拉列表,我希望Vlookup公式返回“TextBox 1”中的文本数据 我收到一条错误消息,上面写着“运行时错误'1004”:无法获取worksheetfunction类的Vlookup属性 不确定我做错了什么,如果有人能发现错误,这是我的代码 Private Sub ContractsList_AfterUpdate() If WorksheetFunction.CountIf(Sheet2.Range("A:

我正在创建一个userform,其中基于名为“ContractsList”的项目下拉列表,我希望Vlookup公式返回“TextBox 1”中的文本数据

我收到一条错误消息,上面写着“运行时错误'1004”:无法获取worksheetfunction类的Vlookup属性

不确定我做错了什么,如果有人能发现错误,这是我的代码

Private Sub ContractsList_AfterUpdate()

If WorksheetFunction.CountIf(Sheet2.Range("A:A"),Me.ContractsList.Value) = 0 Then
MsgBox "This contract is not on the list"
Me.ContractsList.Value = ""
Exit Sub

End If
'Lookup values based on first control
With Me

.TextBox1 = Application.WorksheetFunction.VLookup(Me.TextBox1, ("B5:B72"), 2, 0)

End With
End Sub

最终使其工作如下:

Private Sub ContractsList_AfterUpdate()

If WorksheetFunction.CountIf(Sheet2.Range("A:A"), Me.ContractsList.Value) = 0 Then
MsgBox "This contract is not on the list"
Me.ContractsList.Value = ""
Exit Sub

End If
'Lookup values based on first control
With Me

.TextBox1 = Application.WorksheetFunction.VLookup(Me.ContractsList, Sheet2.Range("A5:E72"), 2, 0)

End With
End Sub
我只需要添加“Sheet2.Range”(“A5:E75”)

谢谢大家的帮助

我把它改成“A5:E72”仍然不起作用。它看起来不像“Me.TextBox1”,我用了.TextBox1=Application.WorksheetFunction.VLookup(Me.ContractsList,Range(“A5:E72”),2,0)”它工作了一两次,然后停止了。