Try this:
Sub Filter_Range()
Dim ws1 As Worksheet: Set ws1 = Sheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = Sheets("Sheet2")
Dim arr As Variant, arrVal() As String
Dim bDim As Boolean: bDim = False
Dim i As Long
arr = ws2.Range("A1:A" & ws2.Range("A" & Rows.Count).End(xlUp).Row)
For i = LBound(arr, 1) To UBound(arr, 1)
If bDim = False Then
ReDim arrVal(0 To 0) As String
arrVal(0) = arr(i, 1)
bDim = True
Else
ReDim Preserve arrVal(0 To UBound(arrVal) + 1) As String
arrVal(UBound(arrVal)) = arr(i, 1)
End If
Next i
With ws1
.AutoFilterMode = False
.Range("A1:K" & .Range("A" & Rows.Count).End(xlUp).Row).AutoFilter 1, arrVal, xlFilterValues
End With
End Sub
Bookmarks