請試試下列方法是否
合適
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim mSht As Worksheet
Dim mRng As Range, mRng1 As Range
Set mSht = Worksheets(1)
With mSht
Set mRng = .Range("a1:a20")
Set mRng1 = .Range("w1:w20")
mRng1.Value = mRng.Value
With mRng1
.Sort key1:=.Columns("a"), header:=xlGuess
End With
With UserForm1.ComboBox1
.List = mRng1.Value
.ListIndex = -1
End With
mRng1.Value = ""
End With