環境 WinXP VB6&SP5 Excel2007
Excelのグラフの取り扱い方について質問させてください。
現在、VBからExcelを起動し、
グラフをもったシート(シートA)をコピーし、
コピー先のシート(シートB)のセルにデータを格納しています。
シートAでは、シートAのセルの内容をグラフ表示するようにしています。
シートBには、シートBのセルの内容でグラフを表示するようにしたいのですが、
コピーしたシートBのグラフは、シートAのセルを参照しています。
コピーしたシートBのグラフが、シートBのセルを参照するようにしたいのですが、
ご助言お願いいたします。
シートごと(シートとグラフをセットで)コピーした場合、お望みの
形になるはずですが?
>コピーしたシートBのグラフは、シートAのセルを参照しています。
そのようになるのはグラフだけをコピーしているからでは?
>そのようになるのはグラフだけをコピーしているからでは?
範囲指定でコピーするとコピー元の範囲を参照するのかな?
シートごと丸々コピーするか、コピーした後、グラフのデータ
元の範囲指定で、シート名を自分で設定してやれば良いのでは?
マクロを記録してみると、Chart.SetSourceData になりますかね?
こちらは Excel2007 の環境が無いので調べてみてください。
返信ありがとうございます。
現在、シートをコピーしています。
Excel2000でテストした場合、
望んでいる、形になりますが、
Excel2007では、ならないようです。
また、SetSourceDataで、
チャレンジしています。
そこで、以前のシートの範囲を引き継ぎたいと思い、
Chartのプロパティを調べていますが、
SetSourceData(範囲設定)の逆(?)に、
あたるような、範囲取得プロパティなどは、
ありますでしょうか。
以上、よろしくお願いいたします。
あー。その昔にやったときは無かったかもしれないですねー。
今、Excel2003 をオブジェクトブラウザでざっと見てみましたが
それらしいのは見つけられませんでした。
そういえば、元のデータは設定できてても、範囲指定を複雑にすると
『データの範囲が複雑すぎぎるため表示できません』といった
メッセージが出ますねー。直接参照できるような値は持っていなくて、
Excel 君が内部で解析処理を挟んで表示してるのかもしれませんね。
各系列ごとの Series だと Value で取れると思います。
そのまま Value を編集したほうが良さそうですねー。
Seriesコレクションにアクセスし、
機能を実現いたしました。
皆様、ありがとうございました。
ツイート | ![]() |