'http://www.cpearson.com/excel/SortingArrays.aspx
QSortInPlace
Option Explicit
Public arrMst As Variant, dMst As Object, dTmp As Object
Private Sub UserForm_Activate()
Dim i As Long, s As String
Dim v() As Variant
arrMst = Sheets("data").[a1].CurrentRegion
Set dMst = CreateObject("scripting.dictionary")
Set dTmp = CreateObject("scripting.dictionary")
For i = 2 To UBound(arrMst)
s = arrMst(i, 4)
dMst(s) = dMst(s) & "," & arrMst(i, 2)
dTmp(s) = dTmp(s) & "," & i
Next i
v = dMst.keys ' <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Call QSortInPlace(v)
cbo_proj.List = v
End Sub