从外部WorkBook Excel复制工作表

时间:2011-03-22 17:03:42

标签: excel vba excel-vba

我正在做的是将工作表从不同的工作簿复制到我当前的工作簿。我基本上做了以下事情:

Delete the current Worksheet in the current Workbook

Open the external Workbook and Copy the Worksheet required

这一切都按预期工作其他工作表中的所有引用都将丢失并替换为#REF。

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

此致

劳埃德

2 个答案:

答案 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"可能被夸大了......)

当然,如果您正在复制的工作表中也有公式,并且您需要在目标工作表中使用这些公式,则无法执行此操作。从你的问题中不清楚你到底想要完成什么。