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でグラフを挿入するときは、次のようなコードを使いました。
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で実行したときも、一瞬グラフシートが作成されてから、ワークシートに挿入されます。マクロ実行後は、グラフが選択状態になります。