Option Explicit
Dim m As Object, t(), t1(), i As Long, x As Long
Private Sub UserForm_Initialize()
Set m = CreateObject("Scripting.Dictionary")
t = Range("A2:f" & Range("A" & Rows.Count).End(3).Row)
For i = 1 To UBound(t)
If t(i, 1) <> "" Then m(t(i, 1)) = ""
Next i
ComboBox1.List = m.keys
ListBox1.ColumnCount = 4
End Sub
Private Sub ComboBox1_change()
ListBox1.Clear: x = 0
ReDim t1(1 To UBound(t), 1 To 6)
For i = 1 To UBound(t)
If t(i, 1) = ComboBox1.Text Then
x = x + 1
t1(x, 1) = t(i, 1): t1(x, 2) = t(i, 2): t1(x, 3) = t(i, 3): t1(x, 4) = t(i, 6)
End If
Next
ListBox1.List = t1
End Sub