> エラーの原因について教えていただけませんでしょうか?
数字だけを使ったシート名がありませんでしょうか。
急ぎましたので、その他にも検証が、足りなかったようです。
今度のは、「数字だけの名前」と「非表示シート」にも対応しましたので、
大丈夫だと思います。
( No.3 は、無視してください。)
Sub SortSheets()
Dim Wwh As Worksheet
Dim N As Integer
Application.ScreenUpdating = False
Sheets.Add Before:=Worksheets(1)
Set Wwh = ActiveSheet
For N = 2 To Worksheets.Count
Cells(N - 1, 1).Value = Worksheets(N).Name
Cells(N - 1, 2).Value = _
Application.GetPhonetic(Worksheets(N).Name)
Next N
Range("A1").CurrentRegion.Sort Key1:=Range("B1"), _
Order1:=xlAscending, Header:=xlNo, OrderCustom:=1 '昇順
'Range("A1").CurrentRegion.Sort Key1:=Range("B1"), _
Order1:=xlDescending, Header:=xlNo, OrderCustom:=1 '降順
For N = 1 To Range("A1").End(xlDown).Row
Worksheets(CStr(Wwh.Cells(N, 1).Value)).Move After:=Sheets(N)
Next N
For N = 2 To Worksheets.Count
If Worksheets(N).Visible = xlSheetVisible Then
Worksheets(N).Activate
Exit For
End If
Next N
Application.DisplayAlerts = False
Wwh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Set Wwh = Nothing
End Sub
お礼
アドバイスありがとうございました。 シートの名前を若干手直しして対応いたしました。 ご親切にありがとうございました。_(._.)_