我有一张包含三张纸的excel文件。 Sheet1有一个组合框(A1)和一个单元格(B1),用于在单击时打开用户窗体(有一个列表框)(仅当组合框有值时)。 Sheet2有一个人名单(总共10个,从这里组合框获取列表)。 Sheet3有一个包含3列的表:Name,Place,Phone,这里的名称与sheet2相同,但由于Place和Phone列,一些值在名称中重复,例如:
我尝试做的是使用Sheet1中的组合框中的值填充列表框中的数据,例如:在组合框中选择Jonh并单击单元格以打开用户窗体,打开userform显示包含john数据的列表框(我在第一个例子中使用的相同)。
使用Range(Cells(Selection.Row, 1).Address).Value
我可以从激活用户表单的单元格的同一行中获取组合框中的值,但我不知道如何填充列表框。
编辑:使用此代码,我能够做到这一点
Dim LR As Long
Dim r As Long
Dim i As Long
ListBoxEmails.Clear
With Sheets("MaeProv") 'sheet3
LR = .Range("A" & .Rows.Count).End(xlUp).Row 'Range column A Sheet3
For r = 2 To LR
If .Cells(r, 1).Value = Range(Cells(Selection.Row, 1).Address).Value Then
ListBoxData.AddItem .Cells(r, 2).Value 'populate listbox with data from column B and C of the same row of data (using data validation in cell A1 of sheet1 with list of names in sheet2)
ListBoxData.List(i, 1) = .Cells(r, 3).Value
i = i + 1
End If
Next r
End With