次のマクロを実行するとシートが、シート名で昇順整列になります。
一応、コードの設定方法を書いておきます。
Alt + F11 で、メニューから[挿入]-->[標準モジュール]で表示された
コードウィンドウに下記コードをコピーして貼り付けます。
Alt + Q でシートに戻り、メニューから[ツール]-->[マクロ]-->[マクロ]で
「Sheets_Sort」を選択し、[OK]すれば、整列 になります。
> 枝番号は、"-"後に1桁から2桁の英数字がついてます。
1桁か2桁ということですので、一般的な方法で、"-" 以降の「数値」で整列する
ものとします。 (つまり100-10は、100-2の後にくる ということです。)
Sub Sheets_Sort()
Dim Sh As Integer
Dim So As Integer
Dim Shn As String
Dim Son As String
For Sh = 2 To Sheets.Count
For So = 1 To Sh - 1
If InStr(Sheets(Sh).Name, "-") > 0 Then
Shn = Left(Sheets(Sh).Name, InStr(Sheets(Sh).Name, "-")) & _
Right("00" & Mid(Sheets(Sh).Name, InStr(Sheets(Sh).Name, "-") + 1), 2)
Else
Shn = Sheets(Sh).Name
End If
If InStr(Sheets(So).Name, "-") > 0 Then
Son = Left(Sheets(So).Name, InStr(Sheets(So).Name, "-")) & _
Right("00" & Mid(Sheets(So).Name, InStr(Sheets(So).Name, "-") + 1), 2)
Else
Son = Sheets(So).Name
End If
If Shn < Son Then
Sheets(Sh).Move before:=Sheets(So)
End If
Next
Next
Sheets(1).Select
End Sub
お礼
回答ありがとうございます。 早速、やってみました。 すごいです。あっという間でした。 助かります。また、お願いします。