シートを移動させる方法について解説します。シートの移動は主に同じExcelファイル内でシートの順番を入れ替える方法と別のファイルへシートを移してしまう方法の2種類存在します。
それでは具体的なコードを確認していきましょう。

同じブック内でシートを移動

シートの移動はまず対象となるシートを指定し、Moveメソッドで行います。
また、引数のBeforeやAfterで移動先を指定します。Beforeを使用すると指定したシートの左隣に、Afterを使用すると右隣に移動させることができます。
<コード>

Sheets("Sheet4").Move Before:=Sheets("Sheet2")  '引数Beforeを指定'
Sheets("Sheet1").Move After:=Sheets("Sheet3")   '引数Afterを指定'

<実行例>
【VBA入門】シートを移動させる方法

別のブック内へシートを移動

また、別のブックへシートを移動させるコードは次の通りです。
シートの移動先としてBefore(またはAfter)にブック名→シート名の順に指定しています。
<コード>

Sheets("Sheet3").Move After:=Workbooks("Book2").Sheets("Sheet1")
'引数After(またはBefore)に移動先をブック名から指定'

<実行例>
【VBA入門】シートを移動させる方法
なお、BeforeとAfterを同時に指定するとエラーが発生するので注意しましょう。
<コード>

Sheets("Sheet4").Move Before:=Sheets("Sheet2"), After:=Sheets("Sheet1")

<エラー例>
【VBA入門】シートを移動させる方法

新しいブックへシートを移動

Moveメソッド使用時にBeforeやAfterの引数を指定しないと自動的に新しいブックが作成され、指定したシートが移動します。
<コード>

Sheets("Sheet2").Move   '引数を指定していない'

<実行例>
【VBA入門】シートを移動させる方法
特殊な動きをするコードですが使い道は色々と考えられそうですね。

まとめ

シートを移動させるMoveメソッドは移動先のシートの名称や順番が分かっていることが前提となります。BeforeやAfterを正しく使用してイメージ通りの場所にシートを配置できるようにしましょう。