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

関連する問題