Try this:
Sub Requests()
Dim dic As Object, arrRequests, j, colNumber As Long, lr As Long, r As Range, arrData, rngSort
Set dic = CreateObject("Scripting.Dictionary")
arrRequests = Split(Range("I2"), "-")
With Worksheets("Sheet1")
For Each j In arrRequests
colNumber = .Range("A2").CurrentRegion.Rows(2).Find _
(What:=j).Column
lr = .Cells(.Rows.Count, colNumber).End(xlUp).Row
For Each r In .Range(.Cells(3, colNumber), .Cells(lr, colNumber))
If Not dic.exists(r.Value) Then dic.Add r.Value, Empty
Next r
Next j
arrData = dic.keys()
.Range("I3").Resize(UBound(arrData) + 1, 1) = Application.Transpose(arrData)
Set rngSort = .Range("I3").Resize(UBound(arrData) + 1, 1)
rngSort.Sort Key1:=rngSort, Order1:=xlAscending, Header:=xlNo
End With
End Sub
Bookmarks