UserForm ComboBox
У меня есть UserForm, который имеет один ComboBox и TextBox. TextBox должен делать vlookup для значения ComboBox, но ТОЛЬКО, если это значение существует в списке, если нет, я не хочу, чтобы в 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
- Как играть в локальный видеофайл в цикле на пользовательской форме excel?
- Автоматическое открытие нескольких пользовательских форм
- Форма Показать метод в случае workbook_open в ThisWorkbook ломает фокус
- Мой ComboBox не отображает значения, которые я добавил в VBA
- Вставьте данные листа в combobox userform без дублирования - Excel Vba
- excel userform - переменная set / reset для определения / использования кадра
- Excel начал сбой на нескольких компьютерах и несколько версий пользовательской формы
- Сгенерированное кодом командная кнопка в vba Userform_initialize () не реагирует
- Динамическое название диаграммы из пользовательской формы
- Форма входа в Excel VBA с сохраненными паролями в базе данных Access
- Проблема моделирующей пользовательской формы Excel
- Excel VBA Userform IIf (IsDate) не сохраняет пробел
- excel vba userforms: пользовательский тип не определен
Вы должны иметь возможность сделать все это с одной строкой:
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