ワークシートをコピーしたい場合は Copy メソッドを使用します。コピーしたワークシートの挿入先を Before または After のどちらかの引数で指定することができます。
引数を省略すると、新規ブックが自動的に作成され、その中にコピーされます。
ワークシートを移動させたい場合は Move メソッドを使用します。引数の指定方法や省略したときの動作はシートが移動すること以外は Copy メソッドと全く同じです。
Copyメソッドの使用方法
引数名 | 省略 | 定数/データ型 | 説明 |
---|---|---|---|
Before | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直前に、操作対象シートをコピーまたは移動します。 |
After | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直後に、操作対象シートをコピーまたは移動します。 |
Copyメソッドの使用例
コピー先を指定
ワークシートをコピーして一番右端へ挿入し、シート名を変更する例です。コピーしたシートはアクティブになるので、ActiveSheet でシートを指定します。
Sub sample_eb07c_01()
'シートを一番右端へコピー
Worksheets("BBB").Copy _
After:=Worksheets(Worksheets.Count)
'コピーしたシートはアクティブになります。
ActiveSheet.Name = "BBB-COPY"
End Sub
ワークシートのCountプロパティ
ワークシートのNameプロパティ
コピー先を省略(新規ブックへコピー)
引数を省略して Copy メソッドを使用すると、新規ブックへコピーされます。
Sub sample_eb07c_02()
'シートを新規ブックへコピー
Worksheets("BBB").Copy
'コピーしたシートはアクティブになります。
ActiveSheet.Name = "BBB-COPY"
End Sub
Moveメソッドの使用方法
引数名 | 省略 | 定数/データ型 | 説明 |
---|---|---|---|
Before | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直前に、操作対象シートをコピーまたは移動します。 |
After | ○ | Variant型(シートオブジェクト) | 指定したシートオブジェクトの直後に、操作対象シートをコピーまたは移動します。 |
Moveメソッドの使用例
移動先を指定
ワークシート”BBB”を一番右端へ移動させる例です。
Sub sample_eb07c_03()
'シートを一番右端へ移動
Worksheets("BBB").Move _
After:=Worksheets(Worksheets.Count)
End Sub
移動先を省略(新規ブックへ移動)
引数を省略して Move メソッドを使用すると、新規ブックへ移動します。
Sub sample_eb07c_04()
'シートを新規ブックへ移動
Worksheets("BBB").Move
End Sub
新規ブックへ移動したので、元のブックにワークシート”BBB”はありません。