excel-vba – 用于复制包含从源到目标工作簿的命名范围的工作表的VBA代码

我有2本工作簿.源工作簿和目标工作簿.它们是完全相同的,除了1个工作表,它们在两个但不同的数据中都有相同的名称(两者都包含大约30张).我想要的是将其余相同的工作表从源工作簿复制到目标工作簿,留下一个延迟数据的工作表.

基本上,目标工作簿中存在的相同工作表应替换为源工作簿中的工作表.工作表包含公式和命名范围.
我成功地编写了VBA代码来复制工作表.但由于命名范围具有工作簿范围.命名范围仍引用源工作簿中的位置.所以我得到了两个名字相同的名字.就像是:

'The one already present in the destination workbook (from the worksheet which was replaced)
Name=VaccStart , Refers To =Sheet2!$A$2 
'The one due to the copied worksheet.
Name=VaccStart , Refers To =[C:\Users\.....\Source.xls]Sheet2!$A$2 

我希望命名范围在复制时引用目标工作簿而不是源工作簿.由于两个工作簿中的所有工作表都是相同的,我只是替换它们.

最佳答案 从源到目标工作簿移动时,一种简单的方法来解决无意中的链接创建是将目标工作簿从Source重新链接到自身

xl2010的屏幕截图

>编辑….链接
>’更改源’并选择当前文件作为新源

点赞