hmm... this doesn't seem to be feasible in my data set
Obviously you would have had to make changes to accommodate your data set 

Option Explicit
Sub esbencito()
Dim Val, i As Long, L(1 To 3) As String
Application.ScreenUpdating = False
With Sheets("Recap").UsedRange.Rows
Range(.Cells(1, 3), .Cells(.Count, 3)).AdvancedFilter xlFilterCopy, , .Range("AB1"), True
Range(.Cells(2, 28), .Cells(.Count, 28)).Sort Key1:=Range("AB2"), Order1:=xlAscending, Header:=xlNo
With .Range("AB1").CurrentRegion: Val = .Value: .Clear: End With
For i = 2 To UBound(Val)
L(i - 1) = Val(i, 1)
Debug.Print L(i - 1)
Next i
End With
Application.ScreenUpdating = True
End Sub
Bookmarks