2017-01-23 58 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

相關問題