1

我有一个包含 2 列的 Excel 电子表格。一列是组织名称。下一列是该组织每小时收费多少。我正在使用用户表单,并且有一个列表框和一个标签。列表框显示第 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)。任何帮助将不胜感激。有一个美好的周末!

4

1 回答 1

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
于 2012-12-14T18:15:22.220 回答