グラフのデータ範囲を指定するには?

Question 56.3 Previous Next
グラフのデータ範囲について、データ全体から条件を基に、ある範囲だけを自動的にグラフの範囲に指定して、グラフを作成したいのですが、方法を教えていただけますでしょうか?
Answer   Copyright (C) 2002.11.14 永井善王
どんな条件を基にして、どのように範囲を決めるのかが不明ですが、ご質問のポイントは、グラフを描くときの「データ範囲」の指定方法のように思いますので、次の図を例にしてお答えします。
Graph Worksheet
右図のワークシートで東日本のグラフを描く場合のデータ範囲の指定方法は、ごく普通に指定すればよいので、西日本を指定する方法をご説明します。

Excelの通常の操作で上図のように、項目とデータの両方のセル範囲を同時に選択してグラフを描くと、右図のようになります。

そして、マクロコードでこのように範囲選択するには、
Range("A2:A5,D2:E5").select とします。
この書き方を応用してグラフのデータ範囲を指定すればよいので、次のようなマクロになるかと思います。
'------------------------------------------------------------------------------
Sub データ範囲を指定してグラフを描く()
Dim データ範囲 As Range
    Set データ範囲 = Range("A2:A5,D2:E5")
    Charts.Add
    ActiveChart.ChartType = xlColumnStacked
    ActiveChart.SetSourceData Source:=データ範囲, PlotBy:=xlRows
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2"
End Sub
'------------------------------------------------------------------------------
なお、グラフの種類を変えたい等でグラフ描画に関するコードが知りたい場合は、マクロを自動記録してみれば容易にわかるかと思います。その場合は、ぜひ試してみてください。

 

Excel VBA Macro