Reputation: 6281
I'm trying to filter my data using 2 columns and 2 different filter requirements.
ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=5, Criteria1:="yes"
ActiveSheet.Range("E:E").AutoFilter Field:=1, Criteria1:="Low"
If I filter by either "yes" or "Low" separately it works. However, if I try and filter range K2-ZZ200 by "yes" and then Column E by "Low" it seems to hide everything.
How can I filter by both?
Upvotes: 8
Views: 79114
Reputation: 6281
Almost. Managed to do this using an array. The Range does not need to be the same by the way.
ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("$E$2:$ZZ$200").AutoFilter Field:=nice, Criteria1:="yes"
ActiveSheet.Range("$E$2:$ZZ$200").AutoFilter Field:=1, Criteria1:=Array( _
"Filter 1", ""Filter 2", "On "Filter 3", ""Filter 4", ""Filter 5"), Operator:=xlFilterValues
Upvotes: 0
Reputation: 8005
You have to use the same Range("$K$2:$ZZ$200")
for both AutoFilter
statements:
' Column A = Field 1
ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=1, Criteria1:="yes"
' Column E = Field 5
ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=5, Criteria1:="Low"
Also, you may need to set ActiveSheet.AutoFilterMode = True
, but I'm not entirely sure.
Upvotes: 6