機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > Excel 2007以降のグラフ

元データ(セル範囲)を変更する



SetSourceDataメソッドでセル範囲を設定する




上図のグラフは、セル範囲A1:D4からグラフを作成しています。この元データを変更してみましょう。

Sub Sample()
    ActiveSheet.ChartObjects(1).Chart.SetSourceData Range("A1:C3")
End Sub



グラフの元データ範囲を設定するSetSourceDataメソッドの書式は、次の通りです。

グラフ.SetSourceData Source, PlotBy

引数Sourceには、セル範囲を指定します。上記のようにワークシートを指定しないと、アクティブシートとみなされます。引数PlotByにはプロットする方向を指定できます。

グラフの参照範囲を変更するには、SetSourceDataメソッドのほかにも、Formulaプロパティを使う手もあります。いずれにしても、こうした処理ではいかにセルのアドレスを特定するかがポイントになります。そのへんの詳しい話は、下記のページをご覧ください。


Excel 2003のコードは動くか


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でも動作します。



このエントリーをはてなブックマークに追加