通过VBA / Excel中的“列表框”传递数据

问题描述 投票:1回答:1

我有一个包含两列的表:enter image description here

我如下填写“列表框”(cmbPersonal):

planPersonal.Range("A1", planPersonal.Range("A" & Application.Rows.Count).End(xlUp)).Name = "PersonalDynamic"
.cmbPersonal.RowSource = "PersonalDynamic"
.cmbPersonal.Value = ""
.cmbPersonal.Enabled = True

但是,我希望在“列表框”中选择一个名称时,VBA会在“个人”电子表格的B列中填充一个“文本框”(ID)。例如:列表框:Erick文字框:3

我如何进行这种组合?

excel vba excel-vba
1个回答
0
投票

尝试在Userform对象VBA代码中关注以下内容

Private Sub ComboBox1_Change()
UserForm1.TextBox1.Value = Application.VLookup(ComboBox1.Value, Range("PersonalDynamic"), 2, False)

End Sub

Private Sub UserForm_Initialize()
Dim planPersonal As Worksheet
Set planPersonal = ThisWorkbook.Sheets("Sheet1")

planPersonal.Range("A1", planPersonal.Range("B" & Application.Rows.Count).End(xlUp)).Name = "PersonalDynamic"

Me.ComboBox1.RowSource = "PersonalDynamic"
Me.ComboBox1.Value = ""
Me.ComboBox1.Enabled = True

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.