- ベストアンサー
ワークシート
ワークシートが数十枚あった場合 これをいっきに五十音順に並べ替えたいのです ドラックの移動ではなく もっといい方法があれば教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 下記の手順でテストしてみて下さい。(対象ブックは念の為コピーを使用して下さい) 1.新規ブックを作ります。 2.エクセルのメニューでツール-マクロ-VBEを開きます。 3.VBE画面で、メニューの挿入-標準モジュールを選び、出てきたモジュールにサンプルマクロをコピーして貼り付けます。 4.VBE画面を閉じます。 5.新規ブックを開いたままで、並び替えたい対象ブックを開きます。 6.対象ブックがアクティブの状態で、エクセルのメニューからツール-マクロ-マクロ-Book1!Worksheets_Sortを実行します。 '--------ここから-------------------------------------------------------- Sub Worksheets_Sort() Dim ws As Worksheet, temp As Worksheet Application.ScreenUpdating = False On Error GoTo ER: Set temp = Worksheets.Add(Worksheets(1)) For i = 2 To Worksheets.Count temp.Range("A" & i - 1) = Worksheets(i).Name Next i temp.Range("A1").Sort Key1:=temp.Range("A1") cnt = temp.Range("A65536").End(xlUp).Row Do While cnt > 0 For i = 2 To Worksheets.Count If Worksheets(i).Name = temp.Range("A" & cnt) Then Worksheets(i).Move after:=Worksheets(1) cnt = cnt - 1 Exit For End If Next i Loop Application.DisplayAlerts = False Worksheets(1).Delete ER: Application.DisplayAlerts = True End Sub '--------ここまで--------------------------------------------------------
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
マクロを書いてみました。昇順に並べます。ご参考に。(当方、Excel2000です) ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。 出てきたコードウインドウに下記マクロをコピーして貼り付けます。 ここから ↓ Sub SheetsSort() Dim i As Integer Dim j As Integer For i = 1 To Sheets.Count - 1 For j = i + 1 To Sheets.Count If Sheets(i).Name > Sheets(j).Name Then Sheets(j).Move Before:=Sheets(i) End If Next Next End Sub
お礼
早速のご丁寧な解答ありがとうございました 勉強させていただきます 今後ともよろしくお願いいたします
お礼
早速のご丁寧な解答ありがとうございました 勉強させていただきます 今後ともよろしくお願いいたします