目次
はじめに
Excel VBAを活用すれば、クリック操作なしでグラフを作成し、レポート作成を効率化できます。本記事では Shapes.AddChart2 メソッドを用いて円グラフ(Pie Chart)を生成する基本手順を、初心者の方にも分かりやすく解説いたします。
サンプルコード — Pieチャートの作成
Sub BuildPieChart()
Dim tgtSheet As Worksheet ' グラフを配置するワークシート
Dim datRange As Range ' グラフの元データ
Dim shpChart As Shape ' 生成されるグラフオブジェクト
' 1. 対象シートとデータ範囲を設定
Set tgtSheet = ThisWorkbook.Worksheets("Summary") ' 任意のシート名に変更可能
Set datRange = tgtSheet.Range("A2:B7") ' 見出し+数値の2列範囲を想定
' 2. 円グラフを作成(グラフスタイルIDは例として 230 を指定)
Set shpChart = tgtSheet.Shapes.AddChart2( _
Style:=230, _ ' グラフスタイルを整数で指定
xlChartType:=xlPie) ' xlPie で円グラフを明示
' 3. データ範囲をグラフに設定し、タイトルを付与
With shpChart.Chart
.SetSourceData Source:=datRange
.ChartTitle.Text = "Category Breakdown" ' タイトルは任意に編集
End With
End Sub
コード解説
手順 | 目的 | 重要ポイント |
---|---|---|
1 | 対象シートおよびデータ範囲を変数で取得 | シート名やセル範囲を変更すれば再利用可能です。 |
2 | AddChart2 でグラフを生成 | 1 行でグラフタイプ(xlPie )とスタイル番号を同時指定できます。 |
3 | データをセットしタイトルを設定 | SetSourceData で一括指定し、タイトルは ChartTitle.Text で変更できます。 |
よくある質問
Q. グラフスタイルIDとは何ですか
A. AddChart2
では、Excelに用意されたデザインテンプレートを 整数値 で選択できます。たとえば 230 は淡い色調の円グラフです。スタイル一覧は Excel 上でグラフを挿入し、デザインタブの「グラフスタイル」にカーソルを合わせると確認できます。
Q. 棒グラフや折れ線グラフに切り替えるには
A. xlChartType:=xlColumnClustered
(縦棒)や xlChartType:=xlLine
(折れ線)のように定数を変更するだけで対応できます。その他の種類も同様です。
まとめ
Shapes.AddChart2
メソッドを用いれば、VBAだけでデータ取得からグラフ生成まで自動化できます。変数を汎用的に設計しておけば、シート名やデータ範囲を差し替えるだけで多様なレポートを作成できる点が大きな利点です。日常的な集計作業を効率化する第一歩として、ぜひ本サンプルをお試しください。