Предположим, у вас есть данные в ячейках с A1 по C10 с первой строкой, содержащей имена столбцов:
A B C
1 ID Name Mark
2 1 Raj 50
3 2 Sulieman 45
4 etc...
На вашем Userform
у вас есть следующее:
- ComboBox1 - содержит список идентификаторов
- CommandButton1 - нажмите эту кнопку, чтобы получить информацию о студентах
- TextBox1 - показывает имя студента на основе идентификатора, выбранного в выпадающем списке1
- TextBox2 - показывает отметку студента на основе идентификатора, выбранного в выпадающем списке1
В вашем Userform
добавьте следующий код:
Private Sub UserForm_Initialize()
Dim comboBoxItems As Range, Dim cl As Range
Set comboBoxItems = Worksheets(1).Range("A2:A10")
For Each cl In comboBoxItems //Populate combobox when userform launched
Me.ComboBox1.AddItem (cl.Value)
Next cl
End Sub
Private Sub CommandButton1_Click()
Dim ID As Long
Dim Name As String, Dim Mark As String,
Dim tableRng As Range
Set tableRng = Worksheets(1).Range("A1:C10")
ID = Me.ComboBox1.Value //Get ID selected in combobox
Name = Application.WorksheetFunction.VLookup(ID, tableRng, 2, False)
Mark = Application.WorksheetFunction.VLookup(ID, tableRng, 3, False)
Me.TextBox1 = Name
Me.TextBox2 = Mark
End Sub