グラフを挿入する


Excel 2007では新しいメソッド

Sub Sample()
    ActiveSheet.Shapes.AddChart
End Sub

Excel 2007でグラフを挿入するときは、上記のように1行で済みます。ShapesコレクションのAddChartメソッドは、Excel 2007で追加されたメソッドです。実行すると、アクティブセルのセル範囲をデータ領域とみなして、標準のグラフ(一般的には棒グラフ)が作成されて、アクティブシートに挿入されます。上図では、ワークシートの左にグラフがありますが、実際にはワークシートの中央に挿入されます。

Excel 2007は、基本的にウィザードがなくなりました。グラフの作成においても同様です。グラフを作成するとき、Excel 2003までのようにウィザードを開始するのではなく、Excel 2007では、いきなりリボンから作成したいグラフのボタンをクリックします。

これはつまり、Excel 2003とExcel 2007では、グラフ作成に関する考え方が変わったということです。

  • Excel 2003 … 設定しながら作る → 挿入されたときには、ある程度設定されている
  • Excel 2007 … 作ってから設定する → まずスッピンのグラフが挿入される

ちなみに、上記のコードでグラフを挿入すると、挿入された後で、グラフが選択状態になりません。

Excel 2003のコードは動くか

Excel 2003でグラフを挿入するときは、次のようなコードを使いました。

Sub Sample()
    With Charts.Add
        .ChartType = xlColumnClustered
        .SetSourceData Source:=Sheets("Sheet1").Range("A1:D4")
        .Location Where:=xlLocationAsObject, Name:="Sheet1"
    End With
End Sub

このコードは、Excel 2007でもそのまま動きます。

【Excel 2007での実行結果】

Excel 2003のコードは、まずグラフを作り、そのグラフをワークシートに埋め込むという二段階の処理です。したがって、Excel 2007で実行したときも、一瞬グラフシートが作成されてから、ワークシートに挿入されます。マクロ実行後は、グラフが選択状態になります。