ExcelマクロVBAサンプル集 | シートを名前順に並べ替える | ExcelマクロVBAの実用サンプル、エクセルVBA集と解説



最終更新日:2013-08-26

シートを名前順に並べ替える


シートを名前順に並べ替える方法になります。

配列を使っていますが、配列が難しい場合は、

シートに書き出して処理すれば良いでしょう、並べ替えもシート上なら簡単です。


Sub sample()
  Dim i As Long
  Dim arySht() As String
  
  For i = 1 To Sheets.Count
    If i = 1 Then
      ReDim arySht(0)
    Else
      ReDim Preserve arySht(UBound(arySht) + 1)
    End If
    arySht(UBound(arySht)) = Sheets(i).Name
  Next
  Call SheetSort(arySht)
  For i = UBound(arySht) To LBound(arySht) Step -1
    Sheets(arySht(i)).Move Before:=Sheets(1)
  Next
End Sub

Sub SheetSort(ByRef argAry() As String)
  Dim sSwap As String
  Dim i As Integer
  Dim j As Integer
  For i = LBound(argAry) To UBound(argAry)
    For j = UBound(argAry) To i Step -1
      If argAry(i) > argAry(j) Then
        sSwap = argAry(i)
        argAry(i) = argAry(j)
        argAry(j) = sSwap
      End If
    Next j
  Next i
End Sub


上記では、シート名を文字列として処理しています。

どういう事かと言うと、

3000
10000
200


このようなシート名の場合、

10000 < 200 < 3000

となってしまいます。

数値として比較したい場合は、

Dim arySht() As String → Dim arySht() As Long
Sub SheetSort(ByRef argAry() As String) → Sub SheetSort(ByRef argAry() As Long)

このようにすれば、数値として比較されます。




同じテーマ「マクロVBAサンプル集」の記事

罫線を簡単に引く(Borders,BorderAround)
マクロの開始・終了(Applicationのプロパティ)
オートフィルター(AutoFilter)
日付のオートフィルタ(AutoFilter)
印刷ダイアログを使用する(xlDialogPrint)
名前定義の一覧(Name)
シートを名前順に並べ替える
数式内の不要なシート名を削除する(HasFormula)
数式の参照しているセルを取得する
増殖した条件付き書式を整理統合する
条件付き書式で変更された書式を取得する

新着記事 ・・・新着記事一覧を見る

数値範囲で表検索するVLOOKUP近似一致|エクセル関数超技(10月5日)
エクセルVBAでのシート指定方法|VBA技術解説(9月8日)
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(8月28日)
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(8月22日)
VBAの省略可能な記述について|ExcelマクロVBA技術解説(8月11日)
複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数とデータ型(Dim)|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.繰り返し処理(For Next)|ExcelマクロVBA入門
10.とにかく書いて見よう(Sub,End Sub)|VBA入門



  • >
  • >
  • >
  • シートを名前順に並べ替える

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP