Filters オブジェクト (Excel)Filters object (Excel)

オートフィルター範囲のすべてのフィルターを表す**Filter** オブジェクトのコレクションです。A collection of Filter objects that represents all the filters in an autofiltered range.


filtersコレクションを取得するのにには、オートフィルターオブジェクトの**filters** プロパティを使用します。Use the Filters property of the AutoFilter object to return the Filters collection. 次の使用例は、Crew ワークシートのオートフィルターのセル範囲でのフィルターの条件および条件付き書式を含める一覧を作成します。The following example creates a list that contains the criteria and operators for the filters in the autofiltered range on the Crew worksheet.

Dim f As Filter 
Dim w As Worksheet 
Const ns As String = "Not set" 
Set w = Worksheets("Crew") 
Set w2 = Worksheets("FilterData") 
rw = 1 
For Each f In w.AutoFilter.Filters 
 If f.On Then 
 c1 = Right(f.Criteria1, Len(f.Criteria1) - 1) 
 If f.Operator Then 
 op = f.Operator 
 c2 = Right(f.Criteria2, Len(f.Criteria2) - 1) 
 op = ns 
 c2 = ns 
 End If 
 c1 = ns 
 op = ns 
 c2 = ns 
 End If 
 w2.Cells(rw, 1) = c1 
 w2.Cells(rw, 2) = op 
 w2.Cells(rw, 3) = c2 
 rw = rw + 1 

フィルター **** (インデックス) にフィルタタイトル__ またはインデックス番号を使用して、1つのフィルタオブジェクトを返します。Use Filters (index), where index is the filter title or index number, to return a single Filter object. 次の使用例では Crew ワークシートのフィルター対象範囲で、最初の列のフィルターの On プロパティの値を変数に設定します。The following example sets a variable to the value of the On property of the filter for the first column in the filtered range on the Crew worksheet.

Set w = Worksheets("Crew") 
If w.AutoFilterMode Then 
 filterIsOn = w.AutoFilter.Filters(1).On 
End If


関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.