我正在做的是将工作表从不同的工作簿复制到我当前的工作簿。我基本上做了以下事情:
Delete the current Worksheet in the current Workbook
Open the external Workbook and Copy the Worksheet required
这一切都按预期工作但其他工作表中的所有引用都将丢失并替换为#REF。
是否有可以采取的解决方法(除了查找和替换黑客)以避免这种情况。
此致
劳埃德
答案 0 :(得分:0)
您可以尝试使用清除和复制粘贴:
- 清除当前工作表的内容
- 复制外部工作表
- 粘贴到当前的纸张中
答案 1 :(得分:0)
为什么不直接复制工作表中包含的值而不是整个工作表对象?
v = Workbooks("Book1").Worksheets("Sheet2").Range("A1:IV65536")
Workbooks("Book3").Worksheets("Sheet1").Range("A1:IV65536") = v
其中v
是变体。或者,
Workbooks("Book3").Worksheets("Sheet1").Range("A1:IV65536") = _
Workbooks("Book1").Worksheets("Sheet2").Range("A1:IV65536")
这需要几秒钟,但如果你将范围缩小到你真正需要的范围会更快("A1:IV65536"
可能被夸大了......)
当然,如果您正在复制的工作表中也有公式,并且您需要在目标工作表中使用这些公式,则无法执行此操作。从你的问题中不清楚你到底想要完成什么。