他のブックにシートを移動、コピー

他のブックにシートを移動、コピーする。

他のブックにシートを移動、コピーさせるにはMoveメソッド、Copyメソッドを利用します。
シートを指定した位置に配置したい場合はMoveメソッド、Copyメソッドの引数でBefore、またはAfterで指定します。
Before、またはAfterの引数でブックを指定しない場合は、新しいブックにシートが移動、コピーされます。
既存のブックファイルに移動、コピーさせる場合はWorkbooks.Openメソッドを利用して指定のファイルを開く必要があります。

 ●シートを新しいブックに移動、コピー

'******************************************************************
' 自ブックのシートを新しいブックに移動、コピー
'******************************************************************
Sub Main_ToNewBook()

    '自ブックの「Sheet1]を新しいブックに移動
    ThisWorkbook.Sheets("Sheet1").Move

    '自ブックの「Sheet2]を新しいブックにコピー
    ThisWorkbook.Sheets("Sheet2").Copy

End Sub

 ■実行結果

それぞれ新しいブックに移動とコピーがされる

 ●シートを他ファイルのブックに移動、コピー

'******************************************************************
' 自ブックのシートを他ブックに移動させる
'*****************************************************************
Sub Main_ToOtherBook()

    '移動先のブックのパス
    Dim sToBookPath As String
    sToBookPath = "C:\VBA\実行テスト.xlsm"

    '移動先となるブックをオープンし、オブジェクト変数に設定
    Dim oToBook As Object
    Set oToBook = Workbooks.Open(sToBookPath)

    '自ブックの「Sheet1]を他ブックの左端に移動
    ThisWorkbook.Sheets("Sheet1").Move before:=oToBook.Sheets(1)
    
    '自ブックの「Sheet2]を他ブックの右端にコピー
    ThisWorkbook.Sheets("Sheet2").Copy After:=oToBook.Sheets(oToBook.Worksheets.Count)
    
    oToBook.Close True

End Sub

 ■実行前

自ブックのシート
他ブックのシート

 ■実行結果