VBA ピボットテーブルにフィルタを追加する ピボットテーブルにフィルタを追加する Sub test() ' VBAでピボットテーブルにフィルタを追加する Dim WS As Worksheet Dim PVC As PivotCache Dim PVT As PivotTable Dim myR As Range ' 元データ範囲自動取得 Set myR = Sheets(1).Range("A2").CurrentRegion ' ピボットテーブル出力シートを追加(最後に) Set WS = Sheets.Add(after:=Sheets(Sheets.Count)) ' ピボットテーブルデータソースをセット Set PVC = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=myR) Set PVT = PVC.CreatePivotTable(TableDestination:=WS.Name & "!R3C1", _ TableName:="ピボットテーブル1") ' フィールドのレイアウト設定 With PVT With .PivotFields("地区") .Orientation = xlPageField .Position = 1 End With With .PivotFields("支店名") .Orientation = xlRowField .Position = 1 End With ' 集計対象を設定 .AddDataField .PivotFields("売上高"), "合計 / 売上高", xlSum End With End Sub Sub test2() ' VBAでピボットテーブルにフィルタを追加する ”関東”を絞り込む Dim WS As Worksheet Dim PVC As PivotCache Dim PVT As PivotTable Dim myR As Range ' 元データ範囲自動取得 Set myR = Sheets(1).Range("A2").CurrentRegion ' ピボットテーブル出力シートを追加(最後に) Set WS = Sheets.Add(after:=Sheets(Sheets.Count)) ' ピボットテーブルデータソースをセット Set PVC = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=myR) Set PVT = PVC.CreatePivotTable(TableDestination:=WS.Name & "!R3C1", _ TableName:="ピボットテーブル1") ' フィールドのレイアウト設定 With PVT With .PivotFields("地区") .Orientation = xlPageField .Position = 1 .CurrentPage = "関東" End With With .PivotFields("支店名") .Orientation = xlRowField .Position = 1 End With ' 集計対象を設定 .AddDataField .PivotFields("売上高"), "合計 / 売上高", xlSum End With End Sub Sub test3() ' VBAでピボットテーブルにフィルタを追加する 複数項目を絞り込む Dim WS As Worksheet Dim PVC As PivotCache Dim PVT As PivotTable Dim myR As Range ' 元データ範囲自動取得 Set myR = Sheets(1).Range("A2").CurrentRegion ' ピボットテーブル出力シートを追加(最後に) Set WS = Sheets.Add(after:=Sheets(Sheets.Count)) ' ピボットテーブルデータソースをセット Set PVC = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=myR) Set PVT = PVC.CreatePivotTable(TableDestination:=WS.Name & "!R3C1", _ TableName:="ピボットテーブル1") ' フィールドのレイアウト設定 With PVT With .PivotFields("地区") .Orientation = xlPageField .Position = 1 .EnableMultiplePageItems = True .PivotItems("近畿").Visible = False .PivotItems("九州").Visible = False End With With .PivotFields("支店名") .Orientation = xlRowField .Position = 1 End With ' 集計対象を設定 .AddDataField .PivotFields("売上高"), "合計 / 売上高", xlSum End With End Sub 実行結果 ― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 参考記事 『VBA ピボットテーブルの作成』実務では、データ分析といえば、何と言ってもExcelのピボットテーブルでしょう。今日は、ピボットテーブル作成の基本について、見ていきましょう。 VBAでピボ…ameblo.jp 『VBA セル範囲に名前の定義をする』 実務では、ミス防止や入力時間短縮などのため、セル範囲に名前を定義することがよくあります。今日は、VBAで名前の定義をみてみましょう。 セル範囲に名前の定義を…ameblo.jp 『VBA ピボットテーブルの削除』今回は、VBAでピボットテーブルの削除について、見ていきましょう。 VBAでピボットテーブルを作成 Sub test() ' ピボットテーブル初期化 …ameblo.jp 『VBA ピボットテーブル 元データ範囲の自動取得』 VBAで元データ範囲の自動取得 Sub test() ' 元データ範囲の自動取得 Dim myR As Range ' A2を含むセル範…ameblo.jp 『VBA ピボットテーブルの更新』 VBAでピボットテーブルの更新 Sub test() ' ピボットテーブルの更新 ActiveSheet.PivotTables(1).PivotCa…ameblo.jp
『VBA ピボットテーブルの作成』実務では、データ分析といえば、何と言ってもExcelのピボットテーブルでしょう。今日は、ピボットテーブル作成の基本について、見ていきましょう。 VBAでピボ…ameblo.jp
『VBA セル範囲に名前の定義をする』 実務では、ミス防止や入力時間短縮などのため、セル範囲に名前を定義することがよくあります。今日は、VBAで名前の定義をみてみましょう。 セル範囲に名前の定義を…ameblo.jp
『VBA ピボットテーブルの削除』今回は、VBAでピボットテーブルの削除について、見ていきましょう。 VBAでピボットテーブルを作成 Sub test() ' ピボットテーブル初期化 …ameblo.jp
『VBA ピボットテーブル 元データ範囲の自動取得』 VBAで元データ範囲の自動取得 Sub test() ' 元データ範囲の自動取得 Dim myR As Range ' A2を含むセル範…ameblo.jp
『VBA ピボットテーブルの更新』 VBAでピボットテーブルの更新 Sub test() ' ピボットテーブルの更新 ActiveSheet.PivotTables(1).PivotCa…ameblo.jp