ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBA シートのコピー

■シートを別ブックにコピーする(シートを新規ブックにコピーしたい場合はこのページの一番下を参照)

Sub アクティブシートを別ブックの先頭にコピーする()
 ActiveSheet.Copy _
   Before:=Workbooks("コピー先のブック.xlsx").Sheets(1)
End Sub
Sub アクティブシートを別ブックの末尾にコピーする()
 Dim cnt As Long ' コピー先ブックのシートの枚数
 cnt = Workbooks("コピー先のブック.xlsx").Sheets.Count
 ActiveSheet.Copy _
   After:=Workbooks("コピー先のブック.xlsx").Sheets(cnt)
End Sub
Sub アクティブシートを別ブックの末尾にコピーする_With()
 With Workbooks("コピー先のブック.xlsx")
  ActiveSheet.Copy _
    After:=.Sheets(.Sheets.Count)
 End With
End Sub

【参考URL】
シートを別のブックにコピーするExcelマクロ:エクセルマクロ・Excel VBAの使い方/Sheets・Worksheet

■シートを新規ブックにコピーする
WorksheetオブジェクトのCopyメソッドは、どこへコピーするかを引数で指定できるが
引数を省略すれば新規ブックへのコピーとなる。

ActiveSheet.Copy

VBAでシートを新規ブックにコピーする:エクセルマクロ・Excel VBAの使い方/Sheets・Worksheet