次の方法で共有


Filters オブジェクト (Excel)

オートフィルターされた範囲内のすべてのフィルターを表す Filter オブジェクトのコレクション。

Filters コレクションを取得 するには、 AutoFilter オブジェクトの Filters プロパティを使用します。 次の使用例は、Crew ワークシートのオートフィルターのセル範囲でのフィルターの条件および条件付き書式を含める一覧を作成します。

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) 
 Else 
 op = ns 
 c2 = ns 
 End If 
 Else 
 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 
Next

1 つの Filter オブジェクトを返すには、Filter (index) を使用します。index はフィルター タイトルまたはインデックス番号です。 次の使用例では Crew ワークシートのフィルター対象範囲で、最初の列のフィルターの On プロパティの値を変数に設定します。

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

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。