Excelのグラフの取り扱い方

解決


グラフ  2007-11-01 20:01:42  No: 138014

環境  WinXP  VB6&SP5  Excel2007

Excelのグラフの取り扱い方について質問させてください。

現在、VBからExcelを起動し、
グラフをもったシート(シートA)をコピーし、
コピー先のシート(シートB)のセルにデータを格納しています。

シートAでは、シートAのセルの内容をグラフ表示するようにしています。
シートBには、シートBのセルの内容でグラフを表示するようにしたいのですが、
コピーしたシートBのグラフは、シートAのセルを参照しています。
コピーしたシートBのグラフが、シートBのセルを参照するようにしたいのですが、
ご助言お願いいたします。


特攻隊長まるるう  2007-11-01 20:49:12  No: 138015

シートごと(シートとグラフをセットで)コピーした場合、お望みの
形になるはずですが?
>コピーしたシートBのグラフは、シートAのセルを参照しています。
そのようになるのはグラフだけをコピーしているからでは?


特攻隊長まるるう  2007-11-01 20:59:50  No: 138016

>そのようになるのはグラフだけをコピーしているからでは?
範囲指定でコピーするとコピー元の範囲を参照するのかな?

シートごと丸々コピーするか、コピーした後、グラフのデータ
元の範囲指定で、シート名を自分で設定してやれば良いのでは?
マクロを記録してみると、Chart.SetSourceData になりますかね?
こちらは Excel2007 の環境が無いので調べてみてください。


グラフ  2007-11-01 21:38:19  No: 138017

返信ありがとうございます。

現在、シートをコピーしています。
Excel2000でテストした場合、
望んでいる、形になりますが、
Excel2007では、ならないようです。

また、SetSourceDataで、
チャレンジしています。
そこで、以前のシートの範囲を引き継ぎたいと思い、
Chartのプロパティを調べていますが、
SetSourceData(範囲設定)の逆(?)に、
あたるような、範囲取得プロパティなどは、
ありますでしょうか。

以上、よろしくお願いいたします。


特攻隊長まるるう  2007-11-01 22:12:56  No: 138018

あー。その昔にやったときは無かったかもしれないですねー。
今、Excel2003 をオブジェクトブラウザでざっと見てみましたが
それらしいのは見つけられませんでした。

そういえば、元のデータは設定できてても、範囲指定を複雑にすると
『データの範囲が複雑すぎぎるため表示できません』といった
メッセージが出ますねー。直接参照できるような値は持っていなくて、
Excel 君が内部で解析処理を挟んで表示してるのかもしれませんね。

各系列ごとの Series だと Value で取れると思います。
そのまま Value を編集したほうが良さそうですねー。


グラフ  2007-11-02 05:05:05  No: 138019

Seriesコレクションにアクセスし、
機能を実現いたしました。

皆様、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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