Excel VBA ワークシートを移動する-Move

Excel VBAでシートを移動にする方法の記録です。

シートを移動するには「Move」メソッドを使います。

< スポンサーリンク >





「Move」メソッド構文

式.Move (Before, After)

式 = Sheetsオブジェクトを表す変数です。

Before:=シート  指定したシートの前(左)に移動
After:=シート  指定したシートの後(右)に移動

「Worksheets.Move」で移動できるシートはワークシートのみです。

「Sheets.Move」で移動できるシートは、ワークシート、グラフシートです。

BeforeとAfterともに省略した場合は、新規ブックが作成され、そのブックに移動します。

 

VBAでシートを移動する例

Sheet1をSheet3の前に移動する

Sub SheetMoveTest1()
  Worksheets(“Sheet1”).Move Before:=Worksheets(“Sheet3”)
End Sub

 

Sheet1をSheet2の後ろに移動する

Sub SheetMoveTest2()
  Worksheets(“Sheet1”).Move After:=Worksheets(“Sheet2”)
End Sub

 

Sheet1を新規ブックに移動する

Sub SheetMoveTest3()
  Worksheets(“Sheet1”).Move
End Sub

 

自分のブックのSheet1を別のブック(Book2.xlsx)のSheet1の前に移動する

※ Book2.xlsxは開いておかないとエラーになります

Sub SheetMoveTest4()
  ThisWorkbook.Worksheets(“Sheet1”).Move _
  Before:=Workbooks(“Book2.xlsx”).Worksheets(“Sheet1”)
End Sub

 

左から2番目のシートを左から1番目のシートの前に移動する

Sub SheetMoveTest5()
  Worksheets(2).Move Before:=Worksheets(1)
End Sub

 

シートを削除したい場合

不要になったシートを削除したい場合は「Delete」メソッドを使います。

まとめ

Moveメソッドを使うことで、VBAからワークシートを自由な位置に移動できます。Before・Afterを省略すると新規ブックへの移動になる点に注意しましょう。

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします