コピー/移動する


シートのコピーはCopyメソッド

シートをコピーするときはCopyメソッドを使います。ここでは「○○は××メソッドです」と簡単に説明していますが、使用するメソッドやプロパティがわからないときは、まず実際の操作をマクロ記録してくださいね。

さて、WorksheetオブジェクトのCopyメソッドには次の引数があります。

Copy(Before, After)

引数Beforeと引数Afterは、それぞれコピー先の位置を指定します。「Before:=Worksheets("Sheet2")」なら、コピーされた新しいシートがSheet2の直前に挿入されます。Addメソッドとよく似ていますが、1つだけ注意が必要です。Addメソッドと違い、引数Beforeと引数Afterを同時に指定することはできません。たとえ両方で矛盾のない位置を指定してもいけません。

Copyメソッドは異なるブックに存在するシートも操作できます。次のコードは、アクティブブックのSheet2を、Book2にコピーします。

Sub Sample05()
    Worksheets("Sheet2").Copy After:=Workbooks("Book2").Worksheets("Sheet1")
End Sub

シートの移動はMoveメソッド

シートの移動はMoveメソッドです。使用できる引数はCopyメソッドと同じです。コピーか移動かの違いだけなので、それ以外は同じに考えていいでしょう。ただし、Moveメソッドの引数を省略して実行すると、そのシートは新しいブックに移動します。こうした使い方は珍しいですが、これはこれで便利な使い方です。ぜひ覚えておきましょう。