← コード一覧へ戻る
実務シート

ワークシートを並べ替える(指定した順番にする場合)

指定した3枚を「入力→集計→出力」の順に並べます。

実行前に確認

  • 指定の名前が存在しないとエラーになります。追加のシートはこの3枚の後ろに残ります。

1サンプルコード

Sub Sample3027()
    Dim names As Variant, i As Long
    names = Array("入力", "集計", "出力")
    For i = UBound(names) To LBound(names) Step -1
        With ThisWorkbook
            If .Worksheets(names(i)).Index <> 1 Then .Worksheets(names(i)).Move Before:=.Sheets(1)
        End With
    Next
End Sub

図で見る操作の流れ

イメージ図

概念図:配列を後ろから処理すると、最終的に指定順で先頭へ並びます。

  1. 手動:準備

    「入力」「集計」「出力」の3枚を用意

  2. マクロ:逆順で移動

    出力 → 集計 → 入力の順で、各シートを先頭へ

  3. 結果

    入力 → 集計 → 出力 → その他のシート

すでに先頭のシートはその回の移動を省略。指定名が存在しないとエラーになります。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する3つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックをExcelマクロ有効ブック(.xlsm)で保存します。「入力」「集計」「出力」の3枚を作ります。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]にコードを貼り付けます。

  3. 3

    Sample3027内にカーソルを置いてF5で実行します。指定した3枚を「入力→集計→出力」の順に並べます。

使っている機能の公式ドキュメント(Microsoft Learn)