他のブックにシートを移動、コピーする。
他のブックにシートを移動、コピーさせるには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■実行前


■実行結果



