参考元:【VBA】シートのコピー方法まとめ【コピーして名前変更、末尾や先頭、新規ブック、複数のコピーをする】
https://daitaideit.com/vba-sheet-copy/
シートを、特定シートの前後や、先頭、末尾にコピーするには、「before:=」と「after:=」を使って、コピー先のシートを指定することでできます。
新規ブックにコピーする場合は、「.Copy」のみを入力することでできます。
アクティブシートの左側にコピー
Sub TEST1()
'アクティブシートの左側にコピー
ActiveSheet.Copy before:=ActiveSheet
End Sub
実行結果:
末尾にコピー
Sub TEST6()
'末尾にコピー
ActiveSheet.Copy after:=Sheets(Sheets.Count)
End Sub
新規ブックにコピー
新規ブックにコピーしてみます。
引数を入力しないで、「.Copy」のみを入力します。
Sub TEST7()
'新規ブックにコピー
ActiveSheet.Copy
End Sub
複数シートをコピー
複数シートをコピー
配列を使って、複数シートをコピーしてみます。
Sub TEST8()
'複数シートをコピー
Sheets(Array("A", "B")).Copy after:=Sheets(Sheets.Count)
End Sub
コピーして名前を変更
Sub TEST10()
'シートをコピー
Sheets("B").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "ABC" '新規シートの名前を変更
End Sub
同じシートを複数作成する
Sub TEST11()
For i = 1 To 3
'シートコピー
Sheets("B").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i '新規シートの名前を変更
Next
End Sub