2016-09-02 4 views
0

1つのテーブル内の複数のフィールドを同時にフィルタリングすることはできますか?ListObjectテーブルの2つのフィルタ

私は単一のフィルタを持っていますが、2番目のフィールドを追加する方法はわかりません。

wS.ListObjects("StructureTable").Range.AutoFilter Field:=1, Criteria1:=wC.Range("F" & x) 

ありがとうございます!

+0

これを理解するには、マクロレコーダーをオンにしてフィルタを適用するのが最適です。変数を生成されたコードに再挿入する必要がありますが、必要な構文を取得する必要があります。ヒント: 'Criteria2'パラメータがあります。 –

答えて

0

AutoFilterメソッドを2回呼び出すだけでField引数に2(テーブルに2つの列があることが前提)と指定できます。例えば:

wS.ListObjects("StructureTable").Range.AutoFilter Field:=**2**, Criteria1:=wC.Range("F" & x) 

全コード:

Option Explicit 

Sub Test() 

    Dim ws As Worksheet 
    Dim lst As ListObject 

    Set ws = ThisWorkbook.Worksheets(1) 
    Set lst = ws.ListObjects(1) 

    'clear any existing filter 
    If lst.ShowAutoFilter Then 
     lst.ShowAutoFilter = False 
    End If 

    'set filter from range parameters 
    With lst.Range 
     .AutoFilter Field:=1, Criteria1:=ws.Range("D1") 
     .AutoFilter Field:=2, Criteria1:=ws.Range("E1") 
    End With 

End Subの

前:

enter image description here

後:

enter image description here

関連する問題