2017-08-10 5 views
1

私は複数のフィルタを持っている(レンジ(「A5:I5」))と連続してそのように、これらのフィルタを組み合わせるしたいと思います:VBAエクセル - 組み合わせ、複数のオートフィルタ

Range("A5:I5").Select 
Selection.AutoFilter 

Range("A6:A500").AutoFilter Field:=1, Criteria1:="<>0" 
Range("B6:B500").AutoFilter Field:=2, Criteria1:="<>" 
Range("F6:F500").AutoFilter Field:=6, Criteria1:="yes", Operator:=xlOr, Criteria2:="=" 
Range("G6:G500").AutoFilter Field:=7, Criteria1:="yes", Operator:=xlOr, Criteria2:="=" 

を、彼らは互いに相殺するように見えるが、私の目標は、以前のフィルタリングされたデータだけをフィルタリングする "yes"フィルタです。
フィルタを「スタック」するにはどうすればよいですか?

答えて

3

のように1 Rangeにそれを行います。また、すべての操作のために必要な、.Selectをそのない回避しよう

Range("A5:I5").Autofilter 
With Range("A6:I500") 
    .AutoFilter Field:=1, Criteria1:="<>0" 
    .AutoFilter Field:=2, Criteria1:="<>" 
    .AutoFilter Field:=6, Criteria1:="yes", Operator:=xlOr, Criteria2:="=" 
    .AutoFilter Field:=7, Criteria1:="yes", Operator:=xlOr, Criteria2:="=" 
End With 

+0

これはうまくいきます(数分で受け付けます)。 https://stackoverflow.com/questions/45608486/vba-autofilter-disable-cells-if-multiple-conditions-are-metをご覧ください。私は最終的な条件/基準を追加する方法を理解できません – dv3

関連する問題