Excel VBAでシートの並べ替え:Moveメソッド

VBAを使えば沢山あるシートも一括で並べ替えできます。




Homeに戻る > Excel シートのTipsへ

シートの並べ替えを下記のコードでは、対象シートと次のシート名を比較し、逆ならばMoveメソッドで移動させています。

これをシート回数分繰り返し並べ替えています。

ブックに含まれるシート数は、ActiveWorkbook.Sheets.Countで取得できます。

関連するTipsの「ワークシートのコピー:Excel VBA」も参照してください。



シートの並べ替えを行うVBA

コマンドボタンのクリックイベントで実行する

シート名はNameプロパティで取得できます。

取得したシート名を比較し昇順で並べ替えています。

Private Sub CommandButton1_Click()
    SheetNameSort
End Sub

シートの並べ替えの標準モジュールコード

Public Sub SheetNameSort()
    Dim i As Integer
    Dim j As Integer
  
    For i = 1 To ActiveWorkbook.Sheets.Count
        For j = 1 To ActiveWorkbook.Sheets.Count - 1
            If ActiveWorkbook.Sheets(j).Name > ActiveWorkbook.Sheets(j + 1).Name Then
                ActiveWorkbook.Sheets(j).Move after:=ActiveWorkbook.Sheets(j + 1)
            End If
        Next j
    Next i
    On Error Resume Next
    ActiveWorkbook.Sheets(1).Activate
End Sub


シートの並べ替え実行前

Sheet2 → Sheet3 → Sheet1 の順になっています。

実行前

シートの並べ替え実行後

Sheet1 → Sheet2 → Sheet3 の順になりました。

シートが昇順に並べ替えられた


Homeに戻る > Excel シートのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved