Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And ActiveCell.Column = 10 And ActiveCell.Row > 3 Then
With Me.ListBox1
.Width = 1400 '整体宽度为150
.Height = 200 '高度为,可以根据行数和字体大小计算得来
.Visible = True '保持可见
.Left = ActiveCell.Offset(0, 1).Left '显示在活动单元格右方
.Top = ActiveCell.Top '高度与活动单元格一致
.ColumnWidths = "200;200;70;35;75;100;120;100;100;80;70;100;" '设置三列的列宽
.ListFillRange = "Sheet2!A4:l" & Worksheets("Sheet2").Cells(Cells.Rows.Count, 1).End(xlUp).Row '引用源
.ColumnCount = 12 '默认显示三列
.BackColor = &HE0E0E0 '背景色
.BoundColumn = 1 '将第一列导入单元格
.ColumnHeads = True '显示列标题
.ListStyle = fmListStyleOption '设置样式
End With
Else
Me.ListBox1.Visible = False '其它列隐藏列表框
End If
End Sub
Private Sub ListBox1_Click() '单击理表框时触发事件
Dim ii As Integer
With ActiveCell
For ii = 10 To 10
.Offset(0, ii - .Column) = ListBox1.Column(2) + "(" + ListBox1.Column(6) + ")" + ListBox1.Column(1)
Next
Me.ListBox1.Visible = False
End With
End Sub