• ベストアンサー

ワークシート

ワークシートが数十枚あった場合 これをいっきに五十音順に並べ替えたいのです ドラックの移動ではなく もっといい方法があれば教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 下記の手順でテストしてみて下さい。(対象ブックは念の為コピーを使用して下さい) 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 '--------ここまで--------------------------------------------------------

noname#1861
質問者

お礼

早速のご丁寧な解答ありがとうございました 勉強させていただきます 今後ともよろしくお願いいたします

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

マクロを書いてみました。昇順に並べます。ご参考に。(当方、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

noname#1861
質問者

お礼

早速のご丁寧な解答ありがとうございました 勉強させていただきます 今後ともよろしくお願いいたします

関連するQ&A