将Excel工作表,macros和graphics从一个工作簿复制到另一个,将链接移动到新的工作簿

我有一个Excel工作簿具有一些function:

  • 一个主要的面向用户的工作表
  • 一张基于面向用户的工作表数据的汇总表
  • 一些基于面向用户的工作表数据的graphics(如图表types,它们具有单独的选项卡,而不是工作表内的对象 – 我不确定它们是否具有特殊名称或特殊属性)
  • 一系列“背景”工作表,用于计算面向用户的工作表的值
  • 一个macros,允许用户按照他们希望的任何列对用户表进行sorting,这是在用户工作表的Worksheet_SelectionChange事件中引用的

但是,为了便于分布,我想剔除这些表格(文件大小 – 整个数据查询包含在其中一张表格中)。 我仍然需要计算面向用户的工作表的值,但是每个数据集只能执行一次,因此可以非常高兴地将其作为格式和值进行复制。

但是,麻烦在于将依赖图纸,graphics和macros转移到新的工作簿中,以便引用新版本的工作簿而不是引用旧的工作簿。 理想情况下,我想用VBA或者其他方法来做到这一点,但是我的Googlesearch到目前为止似乎没有什么关联。

有谁知道如何做到这一点?

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

要在VBA中做到这一点,这段代码是一个很好的开始:

Sub Macro1() ActiveWorkbook.SaveAs Filename:= _ [your path here]\Book2.xls", FileFormat:=xlNormal, _ Sheets("Sheet2").Select ActiveWindow.SelectedSheets.Delete End Sub 

创build整个工作簿的副本,然后删除不需要的内容将确保链接不会引用旧的工作簿。

一旦你创build了新的工作簿,并保持链接,那么删除你不需要的所有东西(计算等等)就非常容易了。