大体でIT
大体でIT
Excel VBAで、シートを特定シートや、先頭、末尾にコピーしたい場合は、「before:=」や「after:=」を使って、シートを指定することでできます。新規ブックにコピーしたい場合は、「.Copy」で、複数シートをコピーの場合は、「配列」を使うという感じです。シートをコピーする方法をマスターしていきましょう。
この記事では、シートをコピーする方法について、ご紹介します。
シートを、特定シートの前後や、先頭、末尾にコピーするには、「before:=」と「after:=」を使って、コピー先のシートを指定することでできます。
新規ブックにコピーする場合は、「.Copy」のみを入力することでできます。
複数シートをコピーしたい場合は、「配列」を使います。
シートのコピー方法について、マスターしていきましょう。
では、シートをコピーする方法について、解説していきます。
- シートを自由自在にコピーすることができるようになります。
- アクティブシートの左右
- 特定シートの左右
- 先頭と末尾
- 新規ブック
左側にコピーしたいので、「before:=」を使います。
Sub TEST1()
'アクティブシートの左側にコピー
ActiveSheet.Copy before:=ActiveSheet
End Sub
元シート
実行すると、アクティブシートの左側にコピーできます。
アクティブシートの左側にコピーできた
右側にコピーしたいので、「after:=」を使います。
Sub TEST2()
'アクティブシートの右側にコピー
ActiveSheet.Copy after:=ActiveSheet
End Sub
元シート
実行すると、アクティブシートの右側にコピーできます。
アクティブシートの右側にコピーできた
Sub TEST3()
'Bのシートの左側にコピー
ActiveSheet.Copy before:=Sheets("B")
End Sub
元シート
Bのシートの左側にコピーできた
「after:=」のところに、シートを指定します。
Sub TEST4()
'Bのシートの右側にコピー
ActiveSheet.Copy after:=Sheets("B")
End Sub
元シート
Bのシートの右側にコピーできた
「before:=Sheets(1)」というように引数を入力します。
Sub TEST5()
'先頭にコピー
ActiveSheet.Copy before:=Sheets(1)
End Sub
元シート
シートの先頭にコピーできた
「after:=Sheets(Sheets.Count)」というように、引数を入力します。
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 TEST9()
'複数シートを新規ブックにコピー
Sheets(Array("A", "B")).Copy
End Sub
実行すると、複数シートを、新規ブックにコピーできます。
複数シートを、新規ブックにコピーできた
コピーすると、コピーしたシートがアクティブになります。
なので、コピーした後に、アクティブシートの名前を変更すると、コピー先のシート名を変更できます。
Sub TEST10()
'シートをコピー
Sheets("B").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "ABC" '新規シートの名前を変更
End Sub
元シート
実行すると、Bのシートをコピーして、アクティブシートの名前を変更できます。
シートコピーして名前を変更できた
Bのシートをコピーして、アクティブシートの名前を変更できました。
シートコピーを繰り返すことで、同じシートを複数作成できます。
Sub TEST11()
For i = 1 To 3
'シートコピー
Sheets("B").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = i '新規シートの名前を変更
Next
End Sub
元シート
実行すると、シートコピーを繰り返して、複数シートにコピーできます。
複数シートにコピーできた
シートコピーを繰り返して、複数シートにコピーできました。
この記事では、シートをコピーする方法について、ご紹介しました。
シートを、特定シートの前後や、先頭、末尾にコピーするには、「before:=」と「after:=」を使って、コピー先のシートを指定することでできます。
新規ブックにコピーする場合は、「.Copy」のみを入力することでできます。
複数シートをコピーしたい場合は、「配列」を使います。
シートのコピー方法について、マスターしていきましょう。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。