Как заполнить текстовое поле в зависимости от выбора в поле со списком на пользовательской форме в Excel?
Представьте, что у вас есть таблица с колонками «Имя» и «Табельный номер», как показано на скриншоте ниже. Вам нужно создать пользовательскую форму: поле со списком должно содержать все имена, а текстовое поле — автоматически заполняться соответствующим табельным номером при выборе имени. Метод, описанный в этой статье, поможет вам легко реализовать такую функциональность.

Заполнение текстового поля на основе выбора в поле со списком на пользовательской форме с помощью VBA
Выполните следующие действия, чтобы автоматически заполнить текстовое поле нужным значением в зависимости от выбора в поле со списком на пользовательской форме.
1. Нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications выберите Вставка > UserForm. См. скриншот:

3. Затем добавьте на созданную пользовательскую форму элементы управления «Поле со списком» и «Текстовое поле», как показано на скриншоте ниже.

4. Щёлкните правой кнопкой мыши по любому пустому месту на пользовательской форме и выберите в контекстном меню пункт Просмотреть код. См. скриншот:

5. В открывшемся окне кода пользовательской формы скопируйте приведённый ниже код VBA и вставьте его, заменив исходный.
Код VBA: Заполнение текстового поля на основе выбора в поле со списком на пользовательской форме
Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
Set xRg = Worksheets("Sheet5").Range("A2:B8")
Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub Примечание: A2:B2 — это диапазон, содержащий значения, которые будут отображаться соответственно в поле со списком и текстовом поле на пользовательской форме. Sheet5 — имя листа с этими данными. При необходимости измените указанные параметры.
6. Нажмите клавиши Alt+Q, чтобы закрыть окно Microsoft Visual Basic for Applications.
7. Выберите Разработчик > Вставить > Кнопка (элемент управления ActiveX), чтобы добавить кнопку на лист.
8. Щёлкните правой кнопкой мыши по ярлыку листа, выберите в контекстном меню пункт Просмотреть код, а затем скопируйте и вставьте код VBA в окно редактора.
Код VBA: Отображение пользовательской формы
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub 9. Отключите режим конструктора в книге.
Нажмите кнопку, чтобы открыть указанную пользовательскую форму. Вы увидите, что все имена собраны в выпадающем списке. При выборе имени из этого списка соответствующий табельный номер автоматически появится в текстовом поле, как показано на скриншоте ниже.

Связанные статьи:
- Как заполнить поле со списком указанными данными при открытии книги?
- Как автоматически заполнять другие ячейки при выборе значения из раскрывающегося списка в Excel?
- Как автоматически заполнять другие ячейки при выборе значения из раскрывающегося списка в Excel?
- Как перенести результаты поиска Google на лист Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек