ExcelのVBAを使用して、ピボットテーブルに複数のフィルター条件を設定したい場合、少し工夫が必要です。この記事では、特定の計上月を条件にピボットテーブルのフィルターを複数設定する方法を解説します。
1. ピボットテーブルの基本的な構造と設定
まず、ピボットテーブルを作成するための基本的な設定について理解しておきましょう。あなたのシート「DATA」には計上月、商品コード、金額が含まれています。このデータを使ってピボットテーブルを作成します。ピボットテーブルでは、計上月をフィルターとして使用し、商品コードを列として、金額を値として表示します。
2. 複数条件をピボットテーブルのフィルターに設定する方法
VBAを使用してピボットテーブルに複数の条件を設定するためには、以下のようにコードを修正します。以下のコードをVBAエディタに入力し、実行することで、ピボットテーブルのフィルターに複数の条件を適用できます。
Sub ApplyMultipleFilters() Dim pt As PivotTable Dim pf As PivotField Dim pi As PivotItem Dim monthRange As Range Dim monthList As Variant Dim i As Integer Set pt = Sheets("PVT").PivotTables("ピボットテーブル1") Set pf = pt.PivotFields("計上月") monthList = Sheets("DATA").Range("I1:I6").Value For i = 1 To UBound(monthList, 1) pf.PivotItems(monthList(i, 1)).Visible = True Next i End Sub
このコードでは、指定された計上月の範囲(I1からI6のセルに記入された月)を取得し、その月に一致するアイテムをピボットテーブルのフィルターに適用します。
3. コードの解説
このVBAコードでは、まずピボットテーブルとフィルダーフィールドを指定しています。その後、I1からI6のセルに記入された計上月を月リストとして取得し、それをピボットフィールドの各ピボットアイテムに対して適用しています。これにより、複数の計上月をフィルター条件として設定できます。
4. トラブルシューティング
もしこの方法でうまくいかない場合、以下の点を確認してみてください。
- ピボットテーブル名(”ピボットテーブル1″)が正しいか
- 計上月のアイテム名が正確に一致しているか
- フィルターが適用されたピボットテーブルがシートに存在するか
これらの点を確認することで、問題を解決できる場合があります。
5. まとめ
複数条件のピボットテーブルフィルターをVBAで設定することで、データをより効率的に分析できます。上記のコードを参考にして、特定の計上月や他の条件でデータを絞り込む方法を試してみてください。


コメント