関数・メソッド

ワークシートを移動する【Moveメソッド】【ExcelVBA】

構文

Sheets.Move (Before, After)

Before・・・指定した Sheets オブジェクトの直前に新しいシートを移動します。【省略可能】
After   ・・・指定した Sheets オブジェクトの直後に新しいシートを移動します。【省略可能】

指定した位置からBefore もしくは After の場所にシートを移動します。

Moveメソッドのコードサンプル

Public Sub test()

    '■引数を指定しないと新規ブックに移動する
    ActiveSheet.Move
        
    '■現アクティブなシートを3番目のシートの前に移動する
    ActiveSheet.Move before:=Worksheets(3)
    
    '■現在アクティブなシートをブック上に存在するシートの最後尾に移動する
    ActiveSheet.Move after:=Worksheets(Worksheets.Count)
    
    '■ブック上に存在するシートの先頭シートを最後尾に移動する
    Worksheets(1).Move after:=Worksheets(Worksheets.Count)
    
    '■複数のシートを一度に移動する
    'Arrayメソッドを使用することで、複数のシートを指定して移動可能です。
    '以下の例では、ブック上の1番目と2番目にあるシートを最後尾に移動します。
    Worksheets(Array(1, 2)).Move after:=Worksheets(Worksheets.Count)
    '■別ブックにシートを移動する
    Worksheets(1).Copy Before:=Workbooks("Book2").Worksheets(2) 
End Sub

注意点

  • 各メソッドのパラメータである Before と After は同時に指定することはできません。

関連記事

セルをコピーする【Copyメソッド】【ExcelVBA】
テンプレートシートの列幅をコピーする【ExcelVBA】
テンプレートシートの行幅をコピーする【ExcelVBA】

コメント

タイトルとURLをコピーしました