将Excel工作表、宏和图表从一个工作簿复制到另一个工作簿,并将链接移动到新工作簿

4
我有一个带有多个功能的Excel工作簿:
  • 一个主要的用户界面表格
  • 一个基于用户界面表格数据的摘要表格
  • 一些基于用户界面表格数据的图表(即,具有单独选项卡的图表类型,而不是工作表中的对象-我不确定它们是否有特殊名称或特殊属性)
  • 一系列“背景”工作表,用于计算用户界面表格的值
  • 允许用户按任何他们想要的列对用户表进行排序的宏,在用户界面表格的Worksheet_SelectionChange事件中引用
然而,为了简化(和文件大小),我想删除这些表格以进行分发。我仍然需要计算用户界面表格的值,但每个数据集只需要计算一次,所以可以将其复制为格式然后值。
然而,问题在于如何将依赖表、图表和宏转移到新工作簿中,以便它们不再引用旧工作簿,而是引用表格的新版本。理想情况下,我想使用VBA或其他东西来实现这一点,但迄今为止我的谷歌搜索似乎没有找到太多相关内容。
有人知道怎么做吗?
1个回答

3

我不确定我完全理解你的问题,但是我认为你想做的是创建一个新版本的工作簿,并减少其中的工作表?

要在VBA中实现这一点,以下代码片段是一个很好的起点:

Sub Macro1()
    ActiveWorkbook.SaveAs Filename:= _
        [your path here]\Book2.xls", FileFormat:=xlNormal, _

    Sheets("Sheet2").Select
    ActiveWindow.SelectedSheets.Delete
End Sub

创建整个工作簿的副本,然后删除不需要的内容,这样链接就不会引用旧的工作簿。
创建一个新的工作簿,并保持链接完好,然后很容易删除所有不需要的内容(计算等)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接