EXCEL: 1万件の生データからピボットテーブル&グラフを同時に作成する方法【VBAマクロ】

前回の「EXCEL: マクロでピボットテーブルを操作してみる【VBAマクロ】」の続きになります。

前回は、1万件の生データから、ピボットテーブルを作成する方法をまとめてみましたが、今回はそれに付け加える形で、グラフも同時に作っちゃおうというものです。

業務上、ピボットテーブルを作って終わり、ということは少なく、グラフを作ってデータを分析すると思いますので、そこまで自動化できるプログラムを書いてみました。

概要

Shapes.AddChart2を使いグラフを挿入します。グラフのタイプや、タイトルなどを指定可能です。プログラムを実行した結果は、以下の通りです。

前回パートで上のピボットテーブルを作成し、今回のパートで、下のグラフを作成することが出来ます。

<実行後>

このマクロで出来ること
・ピボットテーブルから棒グラフを作成
・グラフのタイトルを追加
(以下、前回のパートで出来ること)
・件数不明のデータからピボットテーブルを作成
・行と列の項目を指定
・購入金額を円(¥)表示




コード【VBAマクロ】

  1.     'グラフ作成パート
  2.     ActiveSheet.Range("A3").Select
  3.       
  4.     With ActiveSheet.Shapes.AddChart2.Chart
  5.         .ChartType = xlColumnClustered '棒グラフ追加
  6.         .SetSourceData Source:=Range("A3").CurrentRegion
  7.         .HasTitle = True 'グラフタイトルの追加
  8.         .ChartTitle.Text = "会社別フルーツ売上" 'グラフタイトルの変更
  9.     End With

コード【VBAマクロ】の解説

2.
ピボットテーブル内のどこかのセルを選択します。セルはA3でなくても良いですが、前回パートで、A3にピボットテーブルを置くようにしているので、確実なA3を指定しています。
4.
Shapes.AddChart2で追加したChartに関して、5-8行目の操作をしています。
5.
ChartTypeをxlColumnClustered(棒グラフ)と指定しています。
ちなみに、xlLine(折れ線グラフ)、xlPie(円グラフ)です。
6.
SetSourceDataにより、データを指定します。ピボットテーブル内のA3を選択し、CurrentRegionを使うことで、ピボットテーブルの全体を指定可能です。
7.
グラフのタイトルを、Trueにして、タイトル有りにします。
8.
タイトルとして、” ” の中に、つけたいタイトル名を記入します。

感想

今回のプログラムは非常にシンプルです。表を選択して、グラフを作るだけになります。この表を、レポートに貼って、PDF形式で出力などは、また次回まとめてみたいと思います。