[リストへもどる]
一括表示

投稿時間:2002/09/18(Wed) 10:51
投稿者名:fas
Eメール:
URL :
タイトル:
エクセルのグラフをコピー
初めまして。お世話になってます。
少し教えてください。

VBのプログラムから、Excelの表とグラフを出力しようとしています。
雛型のファイルが用意されており、出力件数が複数の場合は、表とグラフのシートを件数だけコピーします。

表のコピーは以下のように実行しています。
xlApp.Worksheets("表雛型").Cells.Copy
xlApp.Worksheets.Add
xlApp.Worksheets("Sheet1").Paste

グラフの方も同じ手順でコピーしようとしたのですが、処理されません。
以下のコードでは、一行目でエラーになります。
xlApp.ChartObjects("グラフ雛型").ChartArea.Copy
xlApp.Worksheets.Add
xlApp.Worksheets("Sheet2").Paste


おそらく任意のグラフの指定の仕方が間違っているのではないかと思うのですが。
グラフをコピーする時、任意のグラフを指定してやるにはどのようにすれば良いのでしょうか?

ご教授お願いいたします。

投稿時間:2002/09/18(Wed) 11:13
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: エクセルのグラフをコピー
この場合マクロを記録して見て見ると解るかと思います。
因みに、マクロの結果は下記の通りです。

    ActiveSheet.ChartObjects("グラフ 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartArea.Copy

実際に使用する場合は
xlApp.ActiveSheet.ChartObjects("グラフ 1").Activate
のようにして下さい。
多分これでOKかと思うのですが確認していませんので、悪しからず

11:26 今、マクロをVB用に修正して試して見ましたらOKでした。

投稿時間:2002/09/18(Wed) 11:53
投稿者名:fas
Eメール:
URL :
タイトル:
Re^2: エクセルのグラフをコピー
花ちゃん 様
早速の回答ありがとうございます。

試してみたのですが、こちらではグラフ雛型のワークシートをアクティブにすることすら出来ませんでした。

このグラフ雛型のワークシートは通常の
『挿入→ワークシート』
の手順で挿入されたものではなく
『挿入→グラフ→(グラフウィザード1,2,3)→(グラフウィザード4)新しいシート』
で挿入したものでした。

この手順で挿入されたものだと、指定の仕方も変わるのでしょうか……。


遅れましたが、環境はwin2000、Excel2000、VB6SP5です。


よろしくお願いいたします。

投稿時間:2002/09/18(Wed) 14:36
投稿者名:fas
Eメール:
URL :
タイトル:
Re^3: エクセルのグラフをコピー
きっと何か方法はあるのでしょうが……。

今回は、シートに張り付いた状態のグラフを雛型として、花ちゃん様にご提示いただいた方法でコピーすることにしました。
ありがとうございました。