Sub SortSheets(Optional wkb As Workbook = Nothing, _</SPAN></SPAN>
Optional ByVal iBeg As Long = 1, _</SPAN></SPAN></SPAN>
Optional ByVal iEnd As Long = 2147483647)</SPAN></SPAN></SPAN>
' shg 2009-09</SPAN></SPAN></SPAN>
' Insertion-sorts sheets from iBeg to iEnd</SPAN></SPAN></SPAN>
Dim i As Long</SPAN></SPAN></SPAN>
Dim j As Long</SPAN></SPAN></SPAN>
If wkb Is Nothing Then Set wkb = ActiveWorkbook</SPAN></SPAN></SPAN>
With wkb</SPAN></SPAN></SPAN>
If iBeg < 1 Then iBeg = 1</SPAN></SPAN></SPAN>
If iEnd > .Sheets.Count Then iEnd = .Sheets.Count</SPAN></SPAN></SPAN>
For i = iBeg + 1 To iEnd</SPAN></SPAN></SPAN>
For j = iBeg To i - 1</SPAN></SPAN></SPAN>
If StrComp(.Sheets(i).Name, .Sheets(j).Name, vbTextCompare) <> 1 Then</SPAN></SPAN></SPAN>
.Sheets(i).Move Before:=.Sheets(j)</SPAN></SPAN></SPAN>
Exit For</SPAN></SPAN></SPAN>
End If</SPAN></SPAN></SPAN>
Next j</SPAN></SPAN></SPAN>
Next i</SPAN></SPAN></SPAN>
End With</SPAN></SPAN></SPAN>
End Sub</SPAN></SPAN></SPAN>