Гид по технологиям

Как отсортировать вкладки листов в Excel в алфавитном порядке

• 5 min read • Excel • Обновлено 06 Dec 2025
Сортировка вкладок Excel по алфавиту
Сортировка вкладок Excel по алфавиту

Как отсортировать вкладки листов в Excel в алфавитном порядке

Зачем сортировать вкладки

Когда в книге десятки или сотни листов, искать нужный становится неудобно. Альфавитная сортировка вкладок ускоряет навигацию и уменьшает риск ошибочного редактирования не того листа. Это особенно полезно для бухгалтеров, аналитиков и менеджеров проектов, которые работают с стандартизированными именами листов.

Ключевые понятия

  • Макрос — последовательность инструкций на VBA, выполняемая в Excel.
  • Модуль — контейнер в редакторе VBA для хранения макросов.
  • .xlsm — формат книги Excel с поддержкой макросов.

Быстрая инструкция (шаги)

  1. Откройте редактор VBA: нажмите Alt+F11.
  2. В редакторе выберите Вставка > Модуль (Insert > Module).
  3. Вставьте приведённый ниже макрос в окно модуля.
  4. Закройте редактор (Файл > Закрыть и вернуться в Microsoft Excel).
  5. Запустите макрос: нажмите Alt+F8, выберите макрос и нажмите «Выполнить» (Run).
  6. Сохраните книгу как «Excel с поддержкой макросов (*.xlsm)», чтобы сохранить макрос.

Шаг за шагом с пояснениями

Непроранжированные вкладки

  1. Нажмите Alt+F11, чтобы открыть Microsoft Visual Basic for Applications.

Выбор Вставка > Модуль

  1. В меню редактора выберите Вставка > Модуль (Insert > Module). В появившемся модуле вы вставите код макроса.

  2. Скопируйте и вставьте следующий макрос (он взят из официальной поддержки Microsoft) в окно модуля:

Sub Sort_Active_Book()

Dim i As Integer

Dim j As Integer

Dim iAnswer As VbMsgBoxResult

'

' Prompt the user as which direction they wish to

' sort the worksheets.

'

iAnswer = MsgBox("Sort Sheets in Ascending Order?" & Chr(10) _

& "Clicking No will sort in Descending Order", _

vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")

For i = 1 To Sheets.Count

For j = 1 To Sheets.Count - 1

'

' If the answer is Yes, then sort in ascending order.

'

If iAnswer = vbYes Then

If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then

Sheets(j).Move After:=Sheets(j + 1)

End If

'

' If the answer is No, then sort in descending order.

'

ElseIf iAnswer = vbNo Then

If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then

Sheets(j).Move After:=Sheets(j + 1)

End If

End If

Next j

Next i

End Sub

Примечание: код использует простую сортировку методом «пузырька» (bubble sort) — последовательные проходы и перестановки соседних листов до упорядочивания.

  1. По умолчанию модуль получит имя Module1, Module2 и т. п. Если вы планируете хранить несколько макросов, переименуйте модуль: в окне Свойств (Properties) измените поле Name на понятное (без пробелов).

Переименование модуля

Изменение имени модуля

Ввод нового имени модуля

Имя модуля изменено

  1. Закройте редактор: Файл > Закрыть и вернуться в Microsoft Excel.

Закрыть и вернуться в Excel

  1. Запустите макрос: Alt+F8 откроет диалог макросов. Выберите Sort_Active_Book (или имя, которое вы дали макросу) и нажмите «Выполнить» (Run).

Запуск макроса

  1. Появится диалог с вопросом: сортировать ли в порядке возрастания. Нажмите «Да» для восходящей сортировки или «Нет» для нисходящей.

Диалог сортировки листов

  1. Вкладки будут упорядочены по имени.

Вкладки после сортировки

Сохранение книги с макросом

После добавления макроса при сохранении Excel покажет предупреждение, если вы пытаетесь сохранить книгу как .xlsx. Чтобы макрос сохранился, выберите формат «Excel с поддержкой макросов (*.xlsm)».

Предупреждение о необходимости .xlsm

Выбор формата Excel с поддержкой макросов

Сохранить

Важно: если сохранить книгу в формате .xlsx, все макросы будут удалены. Рекомендуется сохранить резервную копию .xlsx на случай, если макросы вам больше не нужны.

Когда этот способ не сработает

  • Если листы имеют динамические имена, зависящие от формул или внешних данных — макрос сортирует текущие имена, но порядок может нарушаться при обновлении.
  • Если книга защищена или листы заблокированы для перемещения, макрос не сможет перемещать вкладки.
  • Если в книге используются групповые листы с особой структурой (например, объединение листов по шаблону), автоматическая сортировка может нарушить логику документа.

Альтернативные подходы

  • Ручная сортировка: перетаскивание вкладок мышью — подходит для небольшого числа листов.
  • Использовать сторонние надстройки (add-ins) для управления вкладками, если требуются дополнительные функции (поиск, фильтрация, групповая сортировка).
  • Организовать листы в папки внутри одной рабочей книги с помощью оглавления (лист с гиперссылками на нужные листы).

Пошаговый SOP (короткий)

  1. Сделать резервную копию книги (.xlsx).
  2. Открыть Alt+F11 → Вставка → Модуль.
  3. Вставить код макроса.
  4. Закрыть редактор, Alt+F8 → выбрать макрос → Выполнить.
  5. Проверить порядок листов.
  6. Сохранить как .xlsm.

План отката и рекомендации по безопасности

  • Откат: если порядок стал неверным, закройте книгу без сохранения и откройте резервную копию .xlsx, созданную на шаге 1.
  • Всегда сохраняйте резервную копию перед массовыми изменениями.
  • Не запускайте макросы из неизвестных источников.
  • При работе в корпоративной среде согласуйте использование макросов с ИТ-поддержкой.

Ментальная модель: почему это работает

Макрос сравнивает имена соседних листов и перемещает их, если они не в порядке. Повторяя проходы по списку (вложенные циклы For), достигается полная сортировка — это классический алгоритм пузырьковой сортировки.

Контрольные точки и критерии приёмки

Критерии приёмки:

  • Все вкладки в рабочей книге отсортированы в требуемом порядке (возрастание/убывание).
  • Никакие данные на листах не изменены.
  • Макрос корректно запускается и не вызывает ошибок для текущей книги.

Тестовые сценарии:

  • Книга с 3 листами: проверка всех комбинаций имён.
  • Книга с заблокированным листом: макрос должен уведомить или корректно обработать ошибку.
  • Книга с именами, содержащими пробелы и специальные символы: проверить корректный порядок.

Рольовые задачи (кто что делает)

  • Администратор ИТ: разрешения на выполнение макросов, политика безопасности.
  • Ответственный за документ: создание резервной копии, проверка целостности данных.
  • Пользователь-аналитик: добавление/переименование листов и запуск сортировки по необходимости.

Советы по именованию листов для корректной сортировки

  • Используйте единообразные префиксы (например, “01-Отчёт”, “02-Отчёт”).
  • Избегайте случайных пробелов в начале строк.
  • Если нужен числовой порядок, предпочтите ведущие нули (01, 02, …) для корректной алфанумерической сортировки.

Пример мини-руководства для команды

  1. Перед добавлением новых листов проверяйте шаблон именования.
  2. После добавления группы листов запускайте макрос для обновления порядка.
  3. При изменении структуры уведомляйте коллег и сохраняйте резервную копию.

Заключение

Добавление простого макроса для сортировки вкладок — быстрый способ сделать рабочую книгу удобнее и безопаснее. Это не встроенная функция Excel, но легко реализуется с помощью VBA. Обязательно сохраняйте книгу как .xlsm и держите резервную копию перед изменениями.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро