スポンサーリンク

【VBA】グラフを作成するには?ChartObjects.Addの基本と使い方

Excel VBAでグラフ(チャート)を自動生成するには、ChartObjects.Addメソッドを使用します。このメソッドは、シート上に新しいグラフオブジェクトを追加するための基本文法であり、VBAでグラフ作成を行う際の出発点です。本記事では、ChartObjects.Addの使い方を、初心者にも分かりやすく丁寧に解説します。

スポンサーリンク

1. ChartObjects.Addとは?

ChartObjects.Addは、指定した位置とサイズでグラフオブジェクトを新しく挿入するためのVBAメソッドです。

Excel上で手動でグラフを挿入するのと同じことを、自動化コードで実現できます。

たとえば、「セルB2のあたりに幅400、高さ250のグラフを作りたい」という場合に使用します。

スポンサーリンク

2. 基本構文

ChartObjects.Addの基本構文は以下のとおりです。

Worksheets("シート名").ChartObjects.Add(Left, Top, Width, Height)

各引数の意味は次の通りです。

引数名内容
Leftグラフの左位置(ポイント値)
Topグラフの上位置(ポイント値)
Widthグラフの幅
Heightグラフの高さ

単位は**ポイント(point)**で、1ポイント ≒ 0.75ピクセルです。(Excelの描画単位)

スポンサーリンク

3. 最もシンプルな例

以下は、アクティブシートにグラフを追加する簡単なサンプルです。

Sub CreateChartSimple()
    Dim chtObj As ChartObject
    Set chtObj = ActiveSheet.ChartObjects.Add(100, 50, 400, 250)
End Sub

上記コードでは、

  • 左位置:100ポイント
  • 上位置:50ポイント
  • 幅:400ポイント
  • 高さ:250ポイント

でグラフ枠だけを作成しています。

スポンサーリンク

4. グラフを変数にセットする理由

Set chtObj = ... と変数にセットすることで、その後にプロパティを設定したり、データ範囲を指定したり、種類を変更したりできます。

変数にセットしないと、どのグラフを操作しているのか曖昧になり、意図しないグラフが変更される場合もあります。

Dim chtObj As ChartObject
Set chtObj = ActiveSheet.ChartObjects.Add(...)

この流れは、VBAでグラフを扱ううえでほぼ必須と覚えておきましょう。

5. グラフ作成時によく使うポイント

ChartObjects.Addを使う際のチェックポイントは次の通りです。

チェック項目内容
位置調整セル合わせではなくポイント指定
シート指定ActiveSheetかSheets(“Sheet名”)か
変数利用その後の設定のためSetで受け取る
サイズ調整幅・高さは後から変更可

6. よくあるミスと対策

よくあるミス解決方法
グラフが見当たらないTop/Leftがスクロール範囲外の可能性
サイズが小さすぎる/大きすぎるWidth/Heightの値を修正
他のグラフが上書きされるSetで変数管理し、対象を明確にする

7. まとめ

Excel VBAでグラフを作成する基本は、ChartObjects.Addメソッドを使うことです。

ポイントは次の通りです。

  • ChartObjects.Addでグラフ枠を生成
  • 位置とサイズをポイントで指定
  • Setで変数に格納し、その後の設定に備える

これが、VBAによる自動グラフ生成の第一歩です。

コメント

タイトルとURLをコピーしました