使用列表框中相应的下一列更新标签标题

时间:2012-12-14 15:03:42

标签: excel-vba vba excel

我有一个包含2列的Excel电子表格。一列是组织名称。下一栏是该组织每小时收费多少。我正在使用userform,我有一个列表框和一个标签。列表框显示第1列中的所有值。

Private Sub UserForm_Initialize()
Dim lbtarget As MSForms.ListBox
Dim rngSource As Range

'Set reference to the range of data to be filled
Set rngSource = Worksheets("Sheet1").Range("A2:A125")

'Fill the listbox
Set lbtarget = Me.ListBox1
With lbtarget
    'Determine number of columns
    .ColumnCount = 1
    'Set column widths
    .ColumnWidths = "100"
    'Insert the range of data supplied
    .List = rngSource.Cells.Value
End With

End Sub

我希望标签与列表框中的所选项目相对应。因此,例如,如果我选择资产管理(单元格A2),我希望标签显示相同的行,但下一列,$ 47.00(单元格B2)。任何帮助将不胜感激。祝周末愉快!

1 个答案:

答案 0 :(得分:1)

使用列表框索引来查找范围的第二列,即

Private Sub ListBox1_Click()
Dim Idx As Long

    Idx = ListBox1.ListIndex + 1
    Label1.Caption = Worksheets("Sheet1").Range("A2:A18").Cells(Idx, 2)
End Sub