ExcelマクロVBAサンプル集 | シートを名前順に並べ替える | Excelマクロの実用サンプル、エクセル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)

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




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

数式内の不要なシート名を削除する(HasFormula)
シートの追加・削除(Add,Delete)
シートの複数選択(Select)
複数シートの印刷(PrintOut)
重複削除してコピー(AdvancedFilter)
ブックを安全確実に開く方法(Open)
ブックを閉じる(Close)

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

スプレッドシートが非常に遅い、高速化するには|Google Apps Script入門(1月17日)
画像のトリミング(PictureFormat,Crop)|ExcelマクロVBAサンプル集(12月27日)
シート保護|Google Apps Script入門(12月24日)
表示の固定|Google Apps Script入門(12月24日)
グラフ|Google Apps Script入門(12月21日)
入力規則|Google Apps Script入門(12月13日)
並べ替え|Google Apps Script入門(12月12日)
メモの挿入・削除と改行文字|Google Apps Script入門(12月6日)
リンクの挿入・編集・削除|Google Apps Script入門(12月6日)
セルに数式を入れる|Google Apps Script入門(12月1日)

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

1.RangeとCellsの使い方|ExcelマクロVBA入門
2.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.CSVの読み込み方法|ExcelマクロVBAサンプル集
9.変数とデータ型(Dim)|ExcelマクロVBA入門
10.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説



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

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


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

    ↑ PAGE TOP