1

我在 Excel 中创建了一个包含两个工作表的模板 - 第一个工作表用于漂亮的图表,另一个工作表用于驱动这些图表的数据。我编写了一个 vb.net 2005 应用程序,它可以将我的所有数据转储到第二个工作表上,并且图表工作表完美更新。

我想在同一个工作簿中多次执行此报告。(因此选项卡将显示“Person1 - Chart”、“Person1 - Data”、“Person2 - Chart”、“Person2 - Data”等)

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

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

4

3 回答 3

2

是的,在使用复印功能之前选择两张纸。如果您是手动操作,请不要忘记事后取消选择,否则您将在两者中输入数据。

在 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"))
于 2009-04-22T19:04:46.937 回答
0

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

根据您使用的数据量,这可能不是一个理想的解决方案,但它是我处理这个问题的方式。

于 2009-04-22T18:58:33.553 回答
0

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

使用 SetSourceData 方法

ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A3:D7")
于 2009-04-22T19:04:27.720 回答