同时复制多个工作表以保留图表参考

问题描述:

我在Excel中创建了一个双工作表模板 - 第一个工作表用于美观的图表,另一个工作表用于驱动这些图表的数据。我写了一个vb.net 2005应用程序,它可以将第二张工作表上的所有数据转储出来,并且图表工作表完美地更新。同时复制多个工作表以保留图表参考

我想在同一个工作簿中多次做这个报告。 (所以这些标签会显示为'Person1 - Chart','Person1 - Data','Person2 - Chart','Person2 - Data'等)

我的解决方案是,对于每个人来说,运行,复制图表模板,然后复制数据模板。问题是每个创建的图表模板都指向原始数据工作表。我如何设置每个图表工作表指向的工作表?

有没有办法复制成对的工作表,维持关系到自己,而不是父母?

是的,你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 2009-04-22 19:31:21

我没有用一个编程程序,使这项工作,但如果你把数据传送到同一张纸上,并建立使用分页预览,以避免打印数据表中的表,那么你可以复制和粘贴一遍又一遍的表格和你的图表引用将保持有效。

根据数据量你使用这可能不是一个理想的解决方案,但它的我是如何管理这个问题。

+0

哦,这就是聪明!我仍然想分解数据(以符合规范),但如果没有办法解决这个问题,这正是我要采取的方向。谢谢! – Jeffrey 2009-04-22 19:00:56

复制后,您可以修复图表中的引用。

使用SetSourceData方法

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

编辑修复错误的复制评论 – 2009-04-22 19:10:50