4.5 ワークシートを移動する
ワークブック内の特定のシートを自分自身内で移動(表示している位置を変える)場合や、他のワークブックへ移動する方法です。例えば、右図のようなワークシートの移動をマクロでやる場合です。

ワークシートを移動するときは、???.Moveメソッドを実行します。???の部分は、Sheets(n)Worksheets(n)などのワークシートを表すオブジェクトです。詳しくは、2.1 直接指定する方法2.2 間接的に指定する方法をどうぞ。
???.Moveの引数
???.Moveには、どの位置へ移動するかを次のオプションで指定できます。

 ◆移動時の引数
Before:=ワークシート 指定したワークシートの左側へ移動します。
After:=ワークシート 指定したワークシートの右側へ移動します。

ちなみに、Before:=After:=を省略すると、新しいワークブックが開きそこへ移動されるので注意!
使用例1/ワークブック内で移動する場合
???.Moveの使用例を、Sheets(n).Moveで説明します。例ではSheet1という名前のワークシートを、Sheet3という名前のワークシートの右側へ移動しています。

Sub prcSheetsMove1()

    'Sheet1をSheet3の右側へ移動します
    Sheets("Sheet1").Move After:=Sheets("Sheet3")

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
使用例2/他のワークブックへ移動する場合
???.Moveの使用例その2です。ワークシートを、他のワークブックへ移動します。と言っても、特に変わったことはありません。移動先の指定でワークブックも指定します。

例ではSheet1という名前のワークシートを、Book3という名前のワークブック内にあるSheet2という名前のワークシートの右側に移動しています。

Sub prcSheetsMove2()

    'Sheet1をBook3というワークブック内のSheet2の右側へ移動します
    Sheets("Sheet1").Move After:=Workbooks("Book3").Sheets("Sheet2")

End Sub
 ※このエクセルマクロはワークシート内へ記述するマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved