我想将工作表从一个工作簿复制到另一个工作簿,这非常方便。但是,我遗憾地注意到,即使复制了一个工作表,源工作簿中的其他内容也会随之复制。我的意思是名称管理器中的名称以及数据部分中的链接。
以前我的 Excel 中的名称管理器是这样的:
但从另一个工作簿复制 1 张工作表后,我得到的就有近 17K!
显然,我知道如何删除它们,但不知道删除多少个。我尝试了以下链接中的 VBA 代码:
https://www.mrexcel.com/board/threads/copy-sheet-without-duplicating-named-ranges.543897/
https://www.extendoffice.com/documents/excel/1550-excel-delete-all-named-ranges.html
但对于这样的记录数量,代码无法正常工作。程序冻结了……1 小时?
如果我不删除它们,就会有两件事让我担心。
其中一个是下面的弹出窗口:
即使多次单击“确定”,此消息仍会出现。此后,我收到警告,指出 Excel 无法更新我的链接,如下所述:
最糟糕的是,由于内存不足,甚至 VBA 代码似乎也无法运行。
表明:运行时错误:堆栈空间不足
https://www.mrexcel.com/board/threads/run-time-error-28-out-of-stack-space.1112053/
因此,在这种情况下,我想问:是否可以在另一个工作簿中复制工作表,而不使用名称管理器中的内容?
答案1
在原始工作簿中,转到公式并激活“显示公式”
单击行号和列号之间的左上角以选择整个工作表
按Ctrl+c复制
打开记事本(或任何纯文本编辑器),粘贴所有内容。全选并复制所有内容。
打开目标工作簿并粘贴所有内容。
系统会弹出关于激活链接的警告。如果您单击“禁用”,Excel 将不会将您的数据链接到原始工作簿。现在您将只拥有单元格的数据,但没有格式和链接。
要复制格式,请返回原始工作簿并复制所有内容。
转到目标工作簿,单击“粘贴”按钮下方的小箭头。从下拉菜单中的“其他粘贴选项”中选择“格式 (R)”,它应该是最左边的符号(在最后一行)。
资料来源:本教程
答案2
据我所知(当前适用于 Office 365 的 Excel):复制工作表的两种方法:
(a) 您可能(?) 通过右键单击工作表选项卡 (图 1) 并说“复制到新工作簿”来复制工作表。此方法会使用该工作表 (但不包含其他工作表) 的名称。
(b) 您可以尝试选择范围(甚至是整个工作表范围),然后将其复制/粘贴到新工作簿(“手动” ctrl-c、ctrl-v,或通过上下文菜单鼠标单击,但不能像 (a) 中那样)。如果此范围不包含对任何范围的公式引用,则不会复制任何名称(不会在名称管理器中列出,也不会在选择相应范围时显示在名称字段中)。但是,如果在公式中引用了名称,则只会复制此名称以及工作表,而不会复制同一工作表的其他名称(至少这在我的 Excel 版本、当前 Office 365 中有效 - 希望这对您有效)。
显然,不能省略要复制的相应范围/工作表中公式所使用的名称 - 这可能需要通过标准范围描述(A1到B3)进行更复杂的替换。
答案3
如果您将整个工作表从一个文件移动到另一个文件,则与该工作表相关的所有名称和其他连接也将被移动。我知道这个功能会给您带来问题,但在其他情况下很有用。
为了避免这种情况,您可以简单地复制整个工作表并将其粘贴到新文件中的空白工作表上。
- 全选(左上角分别位于列名和行号之前和上方)
- 复制
- 粘贴到新文件中
现在,这将复制整个工作表以及格式和公式。如果您只需要粘贴值或任何其他特定排除项,则可以使用选择性粘贴。
按照上述前两个步骤操作,然后使用选择性粘贴命令打开对话框并根据您的要求进行选择。
希望这可以帮助。