Excel-VBA ピボットテーブル作成とフィールド配置するマクロ

2019/12/29

プログラム

t f B! P L
Excel VBAマクロ。今回は
ピボットテーブル作成とフィールド配置するマクロ
を示す。

■Excel-VBA ピボットテーブル作成とフィールド配置するマクロ

  1. Sub sample46()
  2. 'ω'ピボットテーブル作成
  3. Dim pvt As PivotTable
  4. Dim pvtData As Range
  5.  
  6. 'ω'元データを変数に格納
  7. Set pvtData = ActiveSheet.Range("A1").CurrentRegion
  8.  
  9. 'ω'ピボットテーブルを作成するシートを作成
  10. With Worksheets.Add(After:=Worksheets(Worksheets.Count))
  11. .Name = "Psheet"
  12. End With
  13.  
  14. 'ω'ピボットテーブルの作成
  15. Set pvt = _
  16. ActiveWorkbook.PivotCaches.Add( _
  17. SourceType:=xlDatabase, _
  18. SourceData:=pvtData). _
  19. CreatePivotTable(TableDestination:=Range("A3"), TableName:="ピボットテーブル")
  20.  
  21. 'ω'フィールドの配置
  22. With pvt
  23. .PivotFields("部品名称").Orientation = xlRowField
  24. .PivotFields("部品番号").Orientation = xlRowField
  25. .PivotFields("DD名目").Orientation = xlRowField
  26. .PivotFields("DD状態").Orientation = xlRowField
  27. .PivotFields("格納場所").Orientation = xlRowField
  28. .PivotFields("DRD番").Orientation = xlColumnField
  29. With .PivotFields("計画数量")
  30. .Orientation = xlDataField
  31. .Function = xlSum
  32. .Caption = "合計 / 計画数量"
  33. End With
  34. End With
  35.  
  36. 'ω'不要行非表示,右クリック→フィールドの設定→なし
  37. Worksheets("Psheet").Activate
  38. ActiveSheet.PivotTables("ピボットテーブル").PivotFields("部品名称").Subtotals = _
  39. Array(False, False, False, False, False, False, False, False, False, False, False, False)
  40. ActiveSheet.PivotTables("ピボットテーブル").PivotFields("部品番号").Subtotals = _
  41. Array(False, False, False, False, False, False, False, False, False, False, False, False)
  42. ActiveSheet.PivotTables("ピボットテーブル").PivotFields("DD名目").Subtotals = _
  43. Array(False, False, False, False, False, False, False, False, False, False, False, False)
  44. ActiveSheet.PivotTables("ピボットテーブル").PivotFields("DD状態").Subtotals = _
  45. Array(False, False, False, False, False, False, False, False, False, False, False, False)
  46.  
  47. Application.CommandBars("PivotTable").Visible = False 'ω'ピボットテーブルツールバーの消去
  48.  
  49. End Sub
※[3.~4.] 変数宣言。
※[7.] 元データを変数に格納。
※[10.~12.] ピボットテーブルを作成するシートを作成。
※[15.~19.] ピボットテーブルを作成。
※[22.~36.] 項目をピボットテーブルの
フィールドに配置。
※[39.~47.] 不要行を非表示。
※[49.] ピボットテーブルツールバーの消去。

■マクロ実行対象

ワークブック「部品データ_191128.xlsx」

■マクロ実行結果

実行すると、ピボットテーブルが作成され、
項目の値がフィールドに配置される。

■あとがき

今回はExcel VBAマクロ。
ピボットテーブル作成とフィールド配置するマクロ
を示した。

ピボットテーブルは
「ある項目の使用数量合計はいくつか」
など複数項目の数値分析など
したい場合に使う。

定型作業でピボットテーブルを作っている人は
VBAで記述すると作業時間を短縮できる。

コードの先頭行に
  1. Option VBASupport 1
を記述してLibreOffice Basicでも使えるか試したが
エラーがでて使えなかった。
以上。

ブログ アーカイブ

ラベル

このブログを検索

スポンサーリンク

自己紹介

機械メーカー総合職正社員10年勤務後退職。 エクセルVBAプログラム歴 5年。 LibreOffice(無料)でVBAマクロ検証。
■Fortniteクエスト攻略動画■
■Twitter■
⇒詳細プロフィールを表示

QooQ