将工作表复制到打开的工作簿而不离开当前工作簿?

时间:2017-01-23 21:20:17

标签: excel vba

我是VBA代码的新手。到目前为止,我已经成功地将我想要的工作表复制到另一个打开的工作簿。如何在不离开当前工作簿的情况下执行此操作?

我已经挖掘了答案,并尝试了Application.ScreenUpdating = False,但似乎没有任何效果,也许我没有正确使用它?

这是我到目前为止所做的,它相当简单,但它复制工作表的效果很好。

Sub Sample1()
Application.ScreenUpdating = False
Workbooks("Workbook1.xlsm").Sheets("Sheet1").CopyAfter:=Workbooks("Workbook2.xlsm").Sheets("Copy_After")
Application.ScreenUpdating = True
End Sub

1 个答案:

答案 0 :(得分:1)

您需要做的就是在脚本开始时记录哪个表格是ActiveSheet,并在脚本完成后记录Activate

Sub Sample1()
  Dim OriginalSheet as Worksheet

  Application.ScreenUpdating = False

  OriginalSheet = ActiveSheet
  Workbooks("Workbook1.xlsm").Sheets("Sheet1").CopyAfter:=Workbooks("Workbook2.xlsm").Sheets("Copy_After")

  OriginalSheet.Activate

  Application.ScreenUpdating = True
End Sub