ピボットテーブル作成とフィールド配置するマクロ
を示す。
■Excel-VBA ピボットテーブル作成とフィールド配置するマクロ
※[3.~4.] 変数宣言。
- Sub sample46()
- 'ω'ピボットテーブル作成
- Dim pvt As PivotTable
- Dim pvtData As Range
- 'ω'元データを変数に格納
- Set pvtData = ActiveSheet.Range("A1").CurrentRegion
- 'ω'ピボットテーブルを作成するシートを作成
- With Worksheets.Add(After:=Worksheets(Worksheets.Count))
- .Name = "Psheet"
- End With
- 'ω'ピボットテーブルの作成
- Set pvt = _
- ActiveWorkbook.PivotCaches.Add( _
- SourceType:=xlDatabase, _
- SourceData:=pvtData). _
- CreatePivotTable(TableDestination:=Range("A3"), TableName:="ピボットテーブル")
- 'ω'フィールドの配置
- With pvt
- .PivotFields("部品名称").Orientation = xlRowField
- .PivotFields("部品番号").Orientation = xlRowField
- .PivotFields("DD名目").Orientation = xlRowField
- .PivotFields("DD状態").Orientation = xlRowField
- .PivotFields("格納場所").Orientation = xlRowField
- .PivotFields("DRD番").Orientation = xlColumnField
- With .PivotFields("計画数量")
- .Orientation = xlDataField
- .Function = xlSum
- .Caption = "合計 / 計画数量"
- End With
- End With
- 'ω'不要行非表示,右クリック→フィールドの設定→なし
- Worksheets("Psheet").Activate
- ActiveSheet.PivotTables("ピボットテーブル").PivotFields("部品名称").Subtotals = _
- Array(False, False, False, False, False, False, False, False, False, False, False, False)
- ActiveSheet.PivotTables("ピボットテーブル").PivotFields("部品番号").Subtotals = _
- Array(False, False, False, False, False, False, False, False, False, False, False, False)
- ActiveSheet.PivotTables("ピボットテーブル").PivotFields("DD名目").Subtotals = _
- Array(False, False, False, False, False, False, False, False, False, False, False, False)
- ActiveSheet.PivotTables("ピボットテーブル").PivotFields("DD状態").Subtotals = _
- Array(False, False, False, False, False, False, False, False, False, False, False, False)
- Application.CommandBars("PivotTable").Visible = False 'ω'ピボットテーブルツールバーの消去
- End Sub
※[7.] 元データを変数に格納。
※[10.~12.] ピボットテーブルを作成するシートを作成。
※[15.~19.] ピボットテーブルを作成。
※[22.~36.] 項目をピボットテーブルの
フィールドに配置。
※[39.~47.] 不要行を非表示。
※[49.] ピボットテーブルツールバーの消去。
■マクロ実行対象
ワークブック「部品データ_191128.xlsx」■マクロ実行結果
実行すると、ピボットテーブルが作成され、項目の値がフィールドに配置される。
■あとがき
今回はExcel VBAマクロ。ピボットテーブル作成とフィールド配置するマクロ
を示した。
ピボットテーブルは
「ある項目の使用数量合計はいくつか」
など複数項目の数値分析など
したい場合に使う。
定型作業でピボットテーブルを作っている人は
VBAで記述すると作業時間を短縮できる。
コードの先頭行に
を記述してLibreOffice Basicでも使えるか試したが
- Option VBASupport 1
エラーがでて使えなかった。
以上。