UserForm ComboBox

时间:2015-10-20 21:27:47

标签: excel vba excel-vba combobox userform

我有一个UserForm,它有一个ComboBox和一个TextBox。 TextBox需要对ComboBox的值进行vlookup,但只有在列表中存在该值时,如果没有,我不希望在TextBox中出现任何内容,以便用户可以输入新信息。

这是我有多远:

Private Sub TextBox1_Enter()
If cbocolor.Value <> "" Then

Dim evalStr As String
Dim check As Variant
evalStr = WorksheetFunction.VLookup(cbocolor.Value,        worksheets("CONTACTS").Range("allcontacts"), 2, False)
check = Evaluate(evalStr)
If VarType(check) = vbError Then
TextBox1.Value = "Enter new info"

Else
var1 = WorksheetFunction.VLookup(cbocolor.Value,      Worksheets("CONTACTS").Range("allcontacts"), 2, False)
TextBox1.Value = var1



End If

1 个答案:

答案 0 :(得分:1)

您应该可以使用一行来完成所有操作:

Private Sub TextBox1_Enter()
    If cbocolor.value <> "" Then

        TextBox1.value = WorksheetFunction.IfError(Application.VLookup(cbocolor.value, _
           Worksheets("CONTACTS").Range("allcontacts"), 2, False), "Enter New Info")

   End If
End Sub