シートを移動させる方法について解説します。シートの移動は主に同じExcelファイル内でシートの順番を入れ替える方法と別のファイルへシートを移してしまう方法の2種類存在します。
それでは具体的なコードを確認していきましょう。
同じブック内でシートを移動
シートの移動はまず対象となるシートを指定し、Moveメソッドで行います。
また、引数のBeforeやAfterで移動先を指定します。Beforeを使用すると指定したシートの左隣に、Afterを使用すると右隣に移動させることができます。
<コード>
Sheets("Sheet4").Move Before:=Sheets("Sheet2") '引数Beforeを指定' Sheets("Sheet1").Move After:=Sheets("Sheet3") '引数Afterを指定'
<実行例>
別のブック内へシートを移動
また、別のブックへシートを移動させるコードは次の通りです。
シートの移動先としてBefore(またはAfter)にブック名→シート名の順に指定しています。
<コード>
Sheets("Sheet3").Move After:=Workbooks("Book2").Sheets("Sheet1") '引数After(またはBefore)に移動先をブック名から指定'
<実行例>
なお、BeforeとAfterを同時に指定するとエラーが発生するので注意しましょう。
<コード>
Sheets("Sheet4").Move Before:=Sheets("Sheet2"), After:=Sheets("Sheet1")
<エラー例>
新しいブックへシートを移動
Moveメソッド使用時にBeforeやAfterの引数を指定しないと自動的に新しいブックが作成され、指定したシートが移動します。
<コード>
Sheets("Sheet2").Move '引数を指定していない'
<実行例>
特殊な動きをするコードですが使い道は色々と考えられそうですね。
まとめ
シートを移動させるMoveメソッドは移動先のシートの名称や順番が分かっていることが前提となります。BeforeやAfterを正しく使用してイメージ通りの場所にシートを配置できるようにしましょう。