В Microsoft Excel 2007, а также в более ранних версиях, нельзя сортировать листы рабочей книги стандартными средствами. Для того, чтобы упорядочить расположение листов в книге, можно прибегнуть к помощи Visual Basic for Applications (VBA).

Макрос для сортировки листов в Excel

На одной из страниц сайта http://support.microsoft.com/kb/812386 размещен программный код макроса, который сортирует листы в рабочих книгах Excel по возрастанию и убыванию. Ниже приведен этот код в несколько измененном виде.

Сортировка по возрастанию

Sub Sortirovka_Listov_Po_Vozrastaniyu()
    Dim i As Integer
    Dim j As Integer
        For i = 1 To Sheets.Count
            For j = 1 To Sheets.Count - 1
                If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
                    Sheets(j).Move After:=Sheets(j + 1)
                End If
            Next j
        Next i
End Sub

Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок knopka_view_source в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).

Сортировка по убыванию

Sub Sortirovka_Listov_Po_Ubyvaniyu()
    Dim i As Integer
    Dim j As Integer
        For i = 1 To Sheets.Count
            For j = 1 To Sheets.Count - 1
                If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
                    Sheets(j).Move After:=Sheets(j + 1)
                End If
            Next j
        Next i
End Sub

Приведенный выше макрос сортирует листы по имени и вполне справляется со своей задачей. В большинстве случаев он помогает автоматизировать упорядочивание листов в рабочей книге, но и свои недостатки тоже имеет. Например, если имена листов состоят из двух частей, текстовой и числовой, то в результате такой сортировки за именем "Лист1" будет следовать "Лист11", а не "Лист2", как иногда хотелось бы. Этот недостаток можно устранить, если сортировать листы по двум параметрам, как по текстовой, так и по числовой части. 

Надстройка для сортировки листов Excel

Механизм сортировки листов по двум параметрам реализован в надстройке, действие которой можно оценить на видео. Надстройка разработана на основе макроса, но более удобна при использовании, так как позволяет быстро запускать макросы прямо из панели инструментов и не тратить время на выбор нужного макроса из списка.

В другой надстройке реализовано сразу несколько способов сортировки листов от алфавитной, до сортировки по настраиваемым спискам.