2006/11/26

埋め込みグラフを作る その5(特定のグラフの系列だけグラフ種類変更)

非常に良くあることですが,ひとつの系列だけ(前回の例で言えばパスタの系列)のグラフ種類を変えたい場合があります.こんなときは以下の事例が役に立つと思います(例としては一連のデータを用いたマクロで…).

【事例】
Sub graph_make()

With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

With ActiveSheet.ChartObjects("test").Chart.SeriesCollection("パスタ")
.ChartType = xlLineMarkers
End With

End Sub

【解説】
赤字のように追加することでパスタの系列のみグラフの種類を変更することができます.あ~便利,便利.

埋め込みグラフを作る その4(埋め込みグラフの削除)

たとえば,グラフをgifファイルにしてそのファイルをWebで公開するときに同じデータを使って違う種類のグラフや列だけちょっと変えて表示したい場合などには一回そのグラフを削除して再度違う種類のグラフを作成したいということがありました.そういった場合は以下のようにするとおいしかったので示しておきます.埋め込みグラフを削除する方法です.グラフ作成は前回までのと同様のコードを用います.

【事例】
Sub graph_delete()
With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

ActiveSheet.ChartObjects("test").Delete

End Sub

【解説】
赤字のように,"オブジェクト.Delete"で消すことができます(ここでもファイル名の設定が役に立ってます).実際にはファイル名の設定をしなくても"ActiveSheet.ChartObjects.ShapeRange.Delete"のようにしても消せると思います(僕は消せました).削除ものはちょっとどきどきするので慎重に行きましょう.

埋め込みグラフを作る その3(グラフの種類の変更)

前回,グラフの名前の設定と取得の方法を理解したのでそれを使ってグラフの種類の変更をしてみようと思う(前回の事例2のコードと同様ですが…).

【事例】
Sub graph_kind_change()
With ActiveSheet.ChartObjects.Add(50, 100, 300, 200).Chart
.SetSourceData Sheets("sheet1").Range("A3:D6")
End With

ActiveSheet.ChartObjects.ShapeRange.Name = "test"

With ActiveSheet.ChartObjects("test").Chart
.ChartType = xlLineMarkers
End With


End Sub

【解説】
グラフの種類を変更する場合は基本的には"オブジェクト.ChartType"で指定することができる.ちなみに以下にグラフの種類を書き綴っていく(気が向いたときにね).

xlLine 折れ線
xlXYXcatter 散布図
xColumnClustered 集合縦棒
(続く…)


こんな感じで結構簡単にグラフを変更することができます.お試しを