
上図のグラフは、セル範囲A1:D4からグラフを作成しています。この元データを変更してみましょう。
Sub Sample()
ActiveSheet.ChartObjects(1).Chart.SetSourceData Range("A1:C3")
End Sub

グラフの元データ範囲を設定するSetSourceDataメソッドの書式は、次の通りです。
グラフ.SetSourceData Source, PlotBy
引数Sourceには、セル範囲を指定します。上記のようにワークシートを指定しないと、アクティブシートとみなされます。引数PlotByにはプロットする方向を指定できます。
グラフの参照範囲を変更するには、SetSourceDataメソッドのほかにも、Formulaプロパティを使う手もあります。いずれにしても、こうした処理ではいかにセルのアドレスを特定するかがポイントになります。そのへんの詳しい話は、下記のページをご覧ください。
Excel 2003で、元データ範囲を変更すると、次のようなコードが生成されます。
Sub Macro()
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:C3"), _
PlotBy:=xlRows
ActiveWindow.Visible = False
Windows("Sample.xls").Activate
End Sub
シート名やブック名を調整して、Excel 2007でこのコードを実行してみます。
【Excel 2007での実行結果】

Excel 2003のコードは、そのままExcel 2007でも動作します。