Private Sub ListBox1_Click()
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
文本框.Visible = True
列表框.Visible = False
文本框.Height = ActiveCell.Height
文本框.Width = ActiveCell.Width
文本框.Top = ActiveCell.Top
文本框.Left = ActiveCell.Left
列表框.Top = ActiveCell.Top
列表框.Left = ActiveCell.Left + ActiveCell.Width
文本框.Activate
文本框.Value = ""
列表框.Clear
Else
文本框.Visible = False
列表框.Visible = False
End If
End Sub
Private Sub 列表框_Click()
ActiveCell = 列表框.Value
列表框.Visible = False
文本框.Visible = False
End Sub
Private Sub 文本框_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim rngs As Range, rng As Range
Set rngs = Sheet2.Range("a1", Sheet2.[a1].End(xlDown))
列表框.Visible = True
列表框.Clear
For Each rng In rngs
If InStr(rng, 文本框.Value) Then 列表框.AddItem rng.Value
Next
End Sub