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