Excel VBAでPieチャートを自動生成する方法

目次

はじめに

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対象シートおよびデータ範囲を変数で取得シート名やセル範囲を変更すれば再利用可能です。
2AddChart2 でグラフを生成1 行でグラフタイプ(xlPie)とスタイル番号を同時指定できます。
3データをセットしタイトルを設定SetSourceData で一括指定し、タイトルは ChartTitle.Text で変更できます。

よくある質問

Q. グラフスタイルIDとは何ですか

A. AddChart2 では、Excelに用意されたデザインテンプレートを 整数値 で選択できます。たとえば 230 は淡い色調の円グラフです。スタイル一覧は Excel 上でグラフを挿入し、デザインタブの「グラフスタイル」にカーソルを合わせると確認できます。

Q. 棒グラフや折れ線グラフに切り替えるには

A. xlChartType:=xlColumnClustered(縦棒)や xlChartType:=xlLine(折れ線)のように定数を変更するだけで対応できます。その他の種類も同様です。


まとめ

Shapes.AddChart2 メソッドを用いれば、VBAだけでデータ取得からグラフ生成まで自動化できます。変数を汎用的に設計しておけば、シート名やデータ範囲を差し替えるだけで多様なレポートを作成できる点が大きな利点です。日常的な集計作業を効率化する第一歩として、ぜひ本サンプルをお試しください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次