対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「ピボットテーブル フィルタ選択 マクロ」
といった検索が、このサイト・インストラクターのネタ帳で行われていました。
VBAでピボットテーブルのフィルターを設定するには、どのようなコードを書けばいいのかを探していた方による検索です。
何を求めていたのか、複数の解釈ができる検索ですが、以下のようなピボットテーブルで、
下図のようなフィルターを設定するマクロをご紹介しておきます。
[スポンサードリンク]
フィルターを設定するサンプルマクロ
電卓と紙の代わりに過ぎないSUMIF関数よりもピボットテーブルをおすすめしている記事でご紹介している、下図のようなワークシートがアクティブな状態で、
以下のSubプロシージャを実行すると「交通費」だけでフィルターが設定されます。
Sub フィルターを設定する()
Dim itm As PivotItem For Each itm In ActiveSheet.PivotTables(1).PivotFields("科目").PivotItems
Select Case itm.Value
Case "交通費"
itm.Visible = True
Case Else
itm.Visible = False
End Select
Next itm
End Sub
Dim itm As PivotItem For Each itm In ActiveSheet.PivotTables(1).PivotFields("科目").PivotItems
Select Case itm.Value
Case "交通費"
itm.Visible = True
Case Else
itm.Visible = False
End Select
Next itm
End Sub
複数アイテムでフィルターを設定する場合
「ピボットテーブル フィルター複数選択 マクロ」
という検索も行われていました。
その場合は、
Select Case itm.Value
Case "交通費"
を、
Select Case itm.Value
Case "交通費", "出張手当"
としてやると、「交通費」または「出張手当」でフィルターが設定されます。
[スポンサードリンク]
- Newer:VBAで相関係数を求めたい
- Older:自動メンバー表示や省略できるオブジェクト式など疑問が解決できた
Home » エクセルマクロ・Excel VBAの使い方 » ピボットテーブル » VBAでピボットテーブルのフィルターを設定する