Vba Excel从外部工作簿复制工作表

Vba Excel从外部工作簿复制工作表,vba,excel,Vba,Excel,我正在做的是将工作表从其他工作簿复制到当前工作簿。我基本上在做以下工作: Delete the current Worksheet in the current Workbook Open the external Workbook and Copy the Worksheet required 这一切都按预期进行,但是其他表格中的所有参考都丢失并替换为#REF 是否有可以避免这种情况的解决方法(查找和替换黑客除外) 问候, 劳埃德您可以尝试使用“清除”和“复制粘贴”来代替: -清除当前工作

我正在做的是将工作表从其他工作簿复制到当前工作簿。我基本上在做以下工作:

Delete the current Worksheet in the current Workbook

Open the external Workbook and Copy the Worksheet required
这一切都按预期进行,但是其他表格中的所有参考都丢失并替换为#REF

是否有可以避免这种情况的解决方法(查找和替换黑客除外)

问候,


劳埃德

您可以尝试使用“清除”和“复制粘贴”来代替:
-清除当前工作表的内容
-复制外部工作表

-粘贴到当前工作表中为什么不复制工作表中包含的值而不是整个工作表对象

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”
可能被夸大了…),则速度会更快


当然,如果您要复制的工作表中也有公式,并且目标工作表中需要这些公式,那么这就不行了。从你的问题上看,你不清楚你到底想要完成什么

我遇到的任何有帮助的答案都会被投票支持。