前回の「EXCEL: マクロでピボットテーブルを操作してみる【VBAマクロ】」の続きになります。
前回は、1万件の生データから、ピボットテーブルを作成する方法をまとめてみましたが、今回はそれに付け加える形で、グラフも同時に作っちゃおうというものです。
業務上、ピボットテーブルを作って終わり、ということは少なく、グラフを作ってデータを分析すると思いますので、そこまで自動化できるプログラムを書いてみました。
概要
Shapes.AddChart2を使いグラフを挿入します。グラフのタイプや、タイトルなどを指定可能です。プログラムを実行した結果は、以下の通りです。
前回パートで上のピボットテーブルを作成し、今回のパートで、下のグラフを作成することが出来ます。
<実行後>
・ピボットテーブルから棒グラフを作成
・グラフのタイトルを追加
(以下、前回のパートで出来ること)
・件数不明のデータからピボットテーブルを作成
・行と列の項目を指定
・購入金額を円(¥)表示
コード【VBAマクロ】
- 'グラフ作成パート
- ActiveSheet.Range("A3").Select
-
- With ActiveSheet.Shapes.AddChart2.Chart
- .ChartType = xlColumnClustered '棒グラフ追加
- .SetSourceData Source:=Range("A3").CurrentRegion
- .HasTitle = True 'グラフタイトルの追加
- .ChartTitle.Text = "会社別フルーツ売上" 'グラフタイトルの変更
- 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形式で出力などは、また次回まとめてみたいと思います。