Excel Textbox未基于Combobox填充值

Excel Textbox未基于Combobox填充值,excel,vba,Excel,Vba,我有一个userform,在其中我根据唯一ID填充数据。然后我想让用户通过一个组合框选择唯一的ID。之后,我想在文本框中填充与该唯一ID相关的公司名称。我正在为相同的应用Vlookup,但它给了我一个错误,“无法获取工作表类函数的Vlookup属性” 我已经检查了值是否在范围内,但它仍然给我相同的错误 请帮忙 Private Sub CBUniqueIDDSR_Change() Me.TBParentCoDSR.Text = Application.WorksheetFunction.VLoo

我有一个userform,在其中我根据唯一ID填充数据。然后我想让用户通过一个组合框选择唯一的ID。之后,我想在文本框中填充与该唯一ID相关的公司名称。我正在为相同的应用Vlookup,但它给了我一个错误,“无法获取工作表类函数的Vlookup属性”

我已经检查了值是否在范围内,但它仍然给我相同的错误

请帮忙

Private Sub CBUniqueIDDSR_Change()
Me.TBParentCoDSR.Text = 
Application.WorksheetFunction.VLookup(CBUniqueIDDSR.Value, Lookup_Range, 
2, False)
End Sub



Private Sub UserForm_Initialize()
Application.Run "Before_Initializing"
Dim Lookup_Range As Range
sht2.Visible = True
sht3.Visible = True
Set Lookup_Range = sht3.Range("A:C")
With sht2
Me.CBMonth.List = .Range("X3", .Range("X3").End(xlDown)).Value
Me.CBCustomerCat.List = .Range("B3", .Range("B3").End(xlDown)).Value
Me.CBVertical.List = .Range("Y3", .Range("Y3").End(xlDown)).Value
Me.CBOperatingLocState.List = .Range("C3", 
.Range("C3").End(xlDown)).Value
Me.CBDecisionMakingUnit.List = .Range("A3", 
.Range("A3").End(xlDown)).Value
Me.CBRelationshipBuild.List = .Range("E3", 
.Range("E3").End(xlDown)).Value
Me.CBGiftAllowed.List = .Range("F3", .Range("F3").End(xlDown)).Value
Me.CBDayDSR.List = .Range("I3", .Range("I3").End(xlDown)).Value
Me.CBMonthDSR.List = .Range("J3", .Range("J3").End(xlDown)).Value
Me.CBYearDSR.List = .Range("K3", .Range("K3").End(xlDown)).Value
End With
With sht3
Me.CBUniqueIDDSR.List = .Range("A2", .Range("A2").End(xlDown)).Value
End With
sht2.Visible = False
sht3.Visible = False
End Sub


你在哪里设置查找范围?我在初始化子窗体中设置它。当你得到错误时,使用即时窗口检查VB认为它的地址是:?lookup_range.address很抱歉,我没有得到它。而且我在Vlookup线路上得到了错误。我试图通过在vlookup公式中输入sht2.Range(“A:C”)来替换Lookup\u Range,但它仍然给出了一个错误。该错误可能意味着无法评估查找中的一个或多个数据。可能是错误的工作表或错误的单元格范围或简单的空字段,或者您只是查找不在查找中的内容。好的,上面的代码对我来说绝对有效。然而,当我在vlookup函数中使用Lookup_范围而不是直接给出范围时,它仍然抛出一个错误。如果我需要先设置范围,然后在vlookup函数中使用它,你知道为什么以及如何克服它吗?我已经克服了这个问题。我所做的是在CBUniqueIDDSR_Change()的同一个子部分中设置lookup_范围。非常感谢你的帮助。
Private Sub CBUniqueIDDSR_Change()

'If you Unique is in text format, use coding below
Me.TBParentCoDSR.Value = WorksheetFunction.VLookup(Me.CBUniqueIDDSR.Value, Worksheets("Sheet12").Range("A2:" & Range("B2").End(xlDown).Address), 2, False)

'If you Unique is in number format, use coding below
'Me.TBParentCoDSR.Value = WorksheetFunction.VLookup(Val(Me.CBUniqueIDDSR.Value), Worksheets("Sheet12").Range("A2:" & Range("B2").End(xlDown).Address), 2, False)


End Sub

Private Sub UserForm_Initialize()
For Each cell In Worksheets("Sheet12").Range("A2:" & Range("A2").End(xlDown).Address)
    Me.CBUniqueIDDSR.AddItem cell.Value
Next
End Sub