2017-01-23 57 views
0

我是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

所有你需要做的就是记录这片是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 
+0

传说!这是完美的。我不得不在“OriginalSheet = ActiveSheet”之前添加“Set”来修复一个对象变量错误,但它现在就像一个魅力一样。谢谢。 – nthpl888

相关问题