[FONT=lucida console][COLOR=Royalblue]Private[/COLOR] [COLOR=Royalblue]Sub[/COLOR] ComboBox1_Change()
[COLOR=Royalblue]Dim[/COLOR] d [COLOR=Royalblue]As[/COLOR] [COLOR=Royalblue]Object[/COLOR], vList1, i [COLOR=Royalblue]As[/COLOR] [COLOR=Royalblue]Long[/COLOR]
vList1 = Sheets([COLOR=brown]"deList"[/COLOR]).Range([COLOR=brown]"A2"[/COLOR], Sheets([COLOR=brown]"deList"[/COLOR]).Cells(Rows.Count, [COLOR=brown]"A"[/COLOR]).[COLOR=Royalblue]End[/COLOR](xlUp)).Value
[COLOR=Royalblue]With[/COLOR] ComboBox1
[COLOR=Royalblue]If[/COLOR] .Value <> [COLOR=brown]""[/COLOR] [COLOR=Royalblue]And[/COLOR] IsError(Application.Match(.Value, vList1, [COLOR=crimson]0[/COLOR])) [COLOR=Royalblue]Then[/COLOR]
[COLOR=Royalblue]Set[/COLOR] d = CreateObject([COLOR=brown]"scripting.dictionary"[/COLOR])
[COLOR=Royalblue]For[/COLOR] i = LBound(vList1) [COLOR=Royalblue]To[/COLOR] UBound(vList1)
[COLOR=Royalblue]If[/COLOR] LCase(vList1(i, [COLOR=crimson]1[/COLOR])) [COLOR=Royalblue]Like[/COLOR] [COLOR=brown]"*"[/COLOR] & Replace(LCase(.Value), [COLOR=brown]" "[/COLOR], [COLOR=brown]"*"[/COLOR]) & [COLOR=brown]"*"[/COLOR] [COLOR=Royalblue]Then[/COLOR]
d(vList1(i, [COLOR=crimson]1[/COLOR])) = [COLOR=crimson]1[/COLOR]
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]If[/COLOR]
[COLOR=Royalblue]Next[/COLOR]
.List = d.keys
.DropDown
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]If[/COLOR]
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]With[/COLOR]
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]Sub[/COLOR]
[COLOR=Royalblue]Private[/COLOR] [COLOR=Royalblue]Sub[/COLOR] ComboBox1_GotFocus()
ComboBox1.MatchEntry = fmMatchEntryNone
ComboBox1.Value = [COLOR=brown]""[/COLOR]
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]Sub[/COLOR]
[COLOR=Royalblue]Private[/COLOR] [COLOR=Royalblue]Sub[/COLOR] ComboBox1_DropButt*******()
[COLOR=Royalblue]Dim[/COLOR] vList, d [COLOR=Royalblue]As[/COLOR] [COLOR=Royalblue]Object[/COLOR], i [COLOR=Royalblue]As[/COLOR] [COLOR=Royalblue]Long[/COLOR]
[COLOR=Royalblue]If[/COLOR] ComboBox1.Value = vbNullString [COLOR=Royalblue]Then[/COLOR]
vList = Sheets([COLOR=brown]"deList"[/COLOR]).Range([COLOR=brown]"A2"[/COLOR], Sheets([COLOR=brown]"deList"[/COLOR]).Cells(Rows.Count, [COLOR=brown]"A"[/COLOR]).[COLOR=Royalblue]End[/COLOR](xlUp)).Value
[COLOR=Royalblue]Set[/COLOR] d = CreateObject([COLOR=brown]"scripting.dictionary"[/COLOR])
[COLOR=Royalblue]For[/COLOR] i = LBound(vList) [COLOR=Royalblue]To[/COLOR] UBound(vList)
d(vList(i, [COLOR=crimson]1[/COLOR])) = [COLOR=crimson]1[/COLOR]
[COLOR=Royalblue]Next[/COLOR]
ComboBox1.List = d.keys
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]If[/COLOR]
[COLOR=Royalblue]End[/COLOR] [COLOR=Royalblue]Sub[/COLOR][/FONT]