○第59回目 グラフ関係(その5;グラフのデータ系列を変更する)
データ系列の変更は簡単です。
これまでやってきたことからのちょっとした改良です。
実際の処理はこうなります。
第57回のマクロで、既存のグラフのデータ系列をワークシートにとります。
そこで必要な修正をします。
そして、データ系列の範囲を指定してから始まります。データ系列はすべて指定してください。
グラフは番号によって区分されています。その番号のデータ系列を新しいものに置き換えてやればいいことになります。
グラフの追加と同じなのですが、追加の場合は、既存のグラフ番号の次からはじめますが、修正ですので、1からはじめ、既存の番号のところまで行います。
第57回で。グラフを追加するメインの処理がありましたが、
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(g_cnt + i).ChartType = xlLine
ActiveChart.SeriesCollection(g_cnt + i).Name = "=Sheet2!R28C5"
ActiveChart.SeriesCollection(g_cnt + i).XValues = "=Sheet2!R29C3:R48C3"
ActiveChart.SeriesCollection(g_cnt + i).Values = "=Sheet2!R29C5:R48C5"
このうち、後半の三行を生かしてもらい、( )内を"i"だけに。、内容を取得した変数にします。
そして、2007ように一文にします
ActiveChart.SeriesCollection.item(i).Formula = _
"=SERIES(" & x_sheet(i) & "!" & x_name(i) & "," & _
x_sheet(i) & "!" & x_midashi(i) & "," & _
x_sheet(i) & "!" & XX(i) & "," & Str(g_cnt + i) & ")"
(注)エクセル2007では、座標はA1方式で大丈夫です。
ほとんど、グラフの追加と同じになります。
また、考え方を変えて、グラフ(のデータ系列)を全部削除してから、追加でもいいと思います。
削除は、マクロの記録でとると、次のようになります
ActiveChart.SeriesCollection(3).Select
Selection.Delete
一般化して、
ActiveChart.SeriesCollection(i).Delete
でいいでしょう。
2007年11月14日水曜日
登録:
コメントの投稿 (Atom)

0 件のコメント:
コメントを投稿