Následující makro myslím nepotřebuje dalšího komentáře, vše je řečeno titulkem
Public Function SortWorksheetsByName() Dim lCount As Long, lCounted As Long, lCount2 As Long Dim lShtLast As Long lShtLast = Sheets.Count For lCount = 1 To lShtLast For lCount2 = lCount To lShtLast If UCase(Sheets(lCount2).Name) < UCase(Sheets(lCount).Name) Then Sheets(lCount2).Move Before:=Sheets(lCount) End If Next lCount2 Next lCount End Function