VBA - 使用来自其他工作表中单元格的值,使用表中的数据填充userform中的列表框

时间:2017-07-12 18:45:21

标签: excel vba

我有一张包含三张纸的excel文件。 Sheet1有一个组合框(A1)和一个单元格(B1),用于在单击时打开用户窗体(有一个列表框)(仅当组合框有值时)。 Sheet2有一个人名单(总共10个,从这里组合框获取列表)。 Sheet3有一个包含3列的表:Name,Place,Phone,这里的名称与sheet2相同,但由于Place和Phone列,一些值在名称中重复,例如:

  1. John,House,312323
  2. John,Work,123142
  3. 我尝试做的是使用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
    

0 个答案:

没有答案