Как да попълня текстово поле въз основа на селекция от комбинирано поле в UserForm в Excel?
Да предположим, че имате таблица, която съдържа колона за име и номер на персонала, както е показано на екранната снимка по-долу. Сега трябва да създадете потребителска форма, вградена с комбинирано поле, което събира всички имена вътре и текстово поле, което ще попълни съответния номер на персонала, когато избирате име от комбинираното поле. Методът в тази статия може да ви помогне да го свалите.
Попълване на текстово поле на базата на избор на комбинирано поле в Userform с VBA
Попълване на текстово поле на базата на избор на комбинирано поле в Userform с VBA
Моля, направете следното, за да попълните текстовото поле със съответната стойност въз основа на избора на разгъващ се списък в Userform.
1. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, кликнете Поставете > Потребителска форма. Вижте екранна снимка:
3. След това вмъкнете контрола на комбинирано поле и контрола на текстово поле в създадената потребителска форма, както е показано на екранната снимка по-долу.
4. Щракнете с десния бутон върху което и да е празно място на Userform и след това щракнете Преглед на кода от контекстното меню. Вижте екранна снимка:
5. В отварящия се прозорец на потребителска форма (код), моля, копирайте и поставете VBA кода по-долу, за да замените оригинала.
Код на VBA: Попълване на текстово поле въз основа на избор на комбинирано поле в Userform
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 е диапазонът, който съдържа стойностите, които ще попълните отделно както в комбинираното поле Userform, така и в текстовото поле. И Sheet5 е името на работния лист, който съдържа диапазона от данни. Моля, сменете ги според нуждите си.
6. Натисни Друг + Q клавиши за излизане от Microsoft Visual Basic за приложения прозорец.
7. кликване Софтуерен Инженер > Поставете > Команден бутон (ActiveX Control) за вмъкване на команден бутон в работния лист.
8. Щракнете с десния бутон върху раздела на листа и изберете Преглед на кода от менюто с десен бутон. След това копирайте и поставете VBA код в прозореца на кода.
VBA код: Показване на потребителски формуляр
Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
UserForm1.Show
End Sub
9. Изключете режима за проектиране в работната книга.
Щракнете върху командния бутон, за да отворите посочения потребителски формуляр. След това можете да видите, че всички имена са събрани в комбинираното поле. Когато изберете име от разгъващия се списък, съответният номер на персонала ще бъде попълнен автоматично в текстовото поле, както е показано на екранната снимка по-долу.
Още по темата:
- Как да попълня разгъващ се списък с определени данни при отворена работна книга?
- Как да попълвам автоматично други клетки при избиране на стойности в падащия списък на Excel?
- Как да попълвам автоматично други клетки при избиране на стойности в падащия списък на Excel?
- Как да попълня резултатите от търсенето с Google в работен лист в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!