我有一个具有许多功能的 Excel 工作簿:
但是,为了分发,为了简单起见(和文件大小 - 整个数据查询都包含在其中一张纸上),我想剔除工作表。我仍然需要计算面向用户的工作表的值,但每个数据集只计算一次,因此可以很高兴地将其复制为格式然后值。
然而,问题是将依赖的工作表、图形和宏转移到新工作簿,这样它们就不会引用旧工作簿,而是引用新版本的工作表。理想情况下,我想用 VBA 或其他东西来做这件事,但到目前为止,我的谷歌搜索似乎没有太大的相关性。
有谁知道如何做到这一点?
最佳答案
我不确定我是否完全理解你的问题,但我认为你想要做的是创建一个新版本的工作簿,其中的工作表更少?
要在 VBA 中做到这一点,这个代码片段是一个很好的起点:
Sub Macro1()
ActiveWorkbook.SaveAs Filename:= _
[your path here]\Book2.xls", FileFormat:=xlNormal, _
Sheets("Sheet2").Select
ActiveWindow.SelectedSheets.Delete
End Sub
创建整个工作簿的副本,然后删除不需要的内容将确保链接不会引用旧工作簿。
一旦您创建了新的工作簿,链接完好无损,就可以很容易地删除所有不需要的内容(计算等)。
关于vba - 将 Excel 工作表、宏和图形从一个工作簿复制到另一个工作簿,将链接移动到新工作簿,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1157393/