2015-11-13 7 views
5

私は次のようにエクセルテーブル用オートフィルタを追加しています。複数の等しくない値のオートフィルタ

With Sheets("Sheet1") 
With .ListObjects("Summary").Range 
    .AutoFilter Field:=1, Criteria1:=">400000", Operator:=xlOr, Criteria2:=Array("<>440400", "<>440600", "<>440300") 
    .AutoFilter Field:=5, Criteria1:=">110", Operator:=xlAnd, Criteria1:="<105" 
    .SpecialCells(xlCellTypeVisible).Copy 
End With 
End With 

n結果私は400000を超えるgeeting値です。しかし私は結果でも440400,440600と440300値を得ています。どうすれば両方のフィルタを追加できますか?

+3

基準には等しくない合計2つしか含めることができません。これ以上行うには、代わりにRangeオブジェクトのAdvancedFilterを使用する必要があります。 –

+1

AvancedFilteredはxls、Tab Data、AvancedのSTD関数です。 Excelヘルプを使用するか、http://www.onlinepclearning.com/vba-advanced-filter-multiple-criteria/を参照してください。 – Fabrizio

答えて

1

これまでのところ、わかっているように、それはできません。

周り

私の仕事:

1の基準を満たす)ハイライトレコード、ループ1

2つずつ)次に、このヘルプホープHiglight

でフィルタ!

0

私はこれが(私は優先順位の確認されませんでしたので、私はちょうどそれを作った)あなたの正確な仕様を満たしていないが、これは動作するはずです知っている:

はとあなたのテーブルにフィールドを追加します。式、のようなもの:再び

=if(OR(AND(Field1>=400000,Field1<>440400,Field1<>440600,Field1<>440300), 
    AND(Field5<110,Field5>105)) 

は、私は完全にあなたが持っていた値に基づくものを作ったので、私はそれが一貫していないのです実現、また実際のフィールド名が一致しません。

次に、この新しい列/フィールドにあなたのvbaコードフィルターを置きます。

関連する問題