2009-04-22 7 views
1

Excelで2つのワークシートテンプレートを作成しました。最初のシートは美しいチャート用で、もう1枚はそれらのチャートを駆動するデータ用です。私は2番目のワークシートのすべてのデータにダンプできるvb.net 2005アプリケーションを作成しました。チャートワークシートは完全に更新されます。複数のワークシートを同時にコピーしてチャート参照を保存する

このブックを同じブックで何度もやりたいと思います。 (タブには「Person1 - Chart」、「Person1 - Data」、「Person2-Chart」、「Person2-Data」など)

このレポートは、グラフテンプレートをコピーし、データテンプレートをコピーします。問題は、作成されたすべてのチャートテンプレートが元のデータワークシートを指していることです。各チャートワークシートが指しているワークシートを設定するにはどうすればよいですか?

ペアレントではなく、自分自身との関係を維持しながらペアでワークシートをコピーする方法はありますか?

答えて

2

はい、select both sheetsあなたは、コピー機能を使用する前に。手動で行う場合は、後で選択を解除することを忘れないでください。そうしないと、両方にデータを入力することになります。 VBAで

:相互運用機能で

Sheets(Array("Chart template", "Data template")).Select 
ActiveWindow.SelectedSheets.Copy After:=Sheets("Data template") 

App.ActiveWorkbook.Sheets(New String() 
     {"Chart template", "Data template"}).Select() 
App.ActiveWindow.SelectedSheets.Copy(After:= 
     App.ActiveWorkbook.Sheets("Data template")) 
+0

私が探していたものを正確に。ありがとうございました。 – Jeffrey

+0

うわー、私がinterop版を渡す前でさえ? – Mark

+0

ブック全体の選択を終えましたが、その配列のトリックは便利な道のりになります。 – Jeffrey

0

私はプログラミングされたアプリケーションを使用してこの作業を行っていませんが、同じシートにデータを持ち込み、データシートの印刷を避けるために改ページを使用してシートを設定すると、あなたのチャートは何度も有効です。

使用しているデータの量によっては、これは理想的な解決策ではないかもしれませんが、この問題をどのように管理したかがわかります。

+0

ああそれは賢いです!私はまだ(仕様を満たすために)データを分割したいと思いますが、その周りに道がなければ、これは私がこれをとる方向です。ありがとうございました! – Jeffrey

0

コピーした後、グラフ内の参照を修正することができます。

使用SetSourceData方法

ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A3:D7") 
+0

誤ったコピーコメントを修正するために編集 –

関連する問題