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

我在Excel中创build了一个双工作表模板 – 第一个工作表用于漂亮的图表,另一个表单用于驱动这些图表的数据。 我已经写了一个vb.net 2005应用程序,可以转储在第二个工作表上的所有数据,图表工作表完美地更新。

我想在同一本工作手册上多次做这个报告。 (所以这些标签会显示“Person1 – Chart”,“Person1 – Data”,“Person2 – Chart”,“Person2 – Data”等)

我的解决scheme是,对于每个要运行此报表的人员,请复制图表模板,然后复制数据模板。 问题是创build的每个图表模板都指向原始数据工作表。 我怎样才能设置每个图表工作表指向什么工作表?

有办法复制成对的工作表,保持与他们自己的关系,而不是父母的关系?

是的,请在使用复印function之前select两张纸 。 如果您正在手动执行此操作,请不要忘记事后取消select,否则您将同时input数据。

在VBA中:

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

在Interop中:

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

我没有使用编程的应用程序来完成这项工作,但是如果您将数据带到同一页并使用分页预览设置页面以避免打印数据页,则可以复制并粘贴页面,结束和您的图表引用将保持有效。

根据您使用的数据量,这可能不是一个理想的解决scheme,但它是如何解决这个问题的。

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

使用SetSourceData方法

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