How about
Sub FilterArr()
Dim Rw As Long, Nrw As Long, Nc As Long
Dim rng As Range
Dim vaData As Variant, Var As Variant, Nary As Variant
Dim ws As Worksheet
Set rng = Sheet2.Range("P1:P" & Cells(Rows.Count, "P").End(xlUp).Row)
Set ws = Sheet1
Var = ws.UsedRange.Value
vaData = rng.Value
ReDim Nary(1 To UBound(Var), 1 To UBound(Var, 2))
With CreateObject("scripting.dictionary")
For Rw = 2 To UBound(vaData)
.Item(vaData(Rw, 1)) = Empty
Next Rw
For Rw = 1 To UBound(Var, 1)
If Not .exists(Var(Rw, 3)) Then
Nrw = Nrw + 1
For Nc = 1 To UBound(Var, 2)
Nary(Nrw, Nc) = Var(Rw, Nc)
Next Nc
End If
Next Rw
End With
With Sheets("Temp")
.Cells.ClearContents
.Range("A1").Resize(Nrw, Nc - 1).Value = Nary
End With
End Sub
Bookmarks