Как автоматически сортировать листы и вкладки Excel

Как автоматически сортировать листы и вкладки Excel

Excel - это не просто инструмент для хранения данных компании и бухгалтерского учета. Его сила заключается в том, что с его помощью можно легко и быстро классифицировать и управлять чем угодно. Мы можем создавать повестки дня, рабочие квадранты, адресные книги, шаблоны счетов, записи посещаемости ... Однако Excel не позволяет нам систематизировать листы рабочих тетрадей, что очень полезно, когда мы работаем с длинными книгами. Но мы можем автоматически сортировать вкладки Excel с помощью макроса в коде Visual Basic . Мы шаг за шагом объясним, как это сделать.

Слова «макрос в коде Visual Basic» могут пугать, но все проще, чем кажется. Макрос - это небольшая программа, которая выполняет за нас серию действий в Excel и служит для автоматизации повторяющихся задач . Макросы написаны в коде Visual Basic для приложений (или VBA), языке программирования, который позволяет вам получить доступ к функциям Excel и расширить их.

Редактор Visual Basic

Чтобы создать макрос, нам нужно открыть любую книгу в Excel, и чем больше в ней вкладок, тем лучше.

Сортировка вкладок Excel

Чтобы открыть редактор VBA, мы используем сочетание клавиш Alt + F11 . Как только появляется окно редактора, мы ищем конкретную книгу Excel с именем Personal.xls . Эта книга обладает тем свойством, что все, что мы делаем в ней , повлияет на все книги . То есть, если мы создадим макрос, мы сможем использовать его, когда захотим.

Редактор макросов

Если вы не можете найти Личную книгу, не волнуйтесь. Выйдите из редактора, откройте вкладку Excel View, откройте меню Macros и выберите Record Macro . Сохраните макрос в своей личной книге макросов и начните запись. Затем снова откройте меню « Макросы» и остановите запись. У вас уже есть «особенная» книга.

Создать макрос в Excel

Теперь у нас есть все готово для создания нового модуля . Мы открываем редактор VBA с помощью Alt + F11 , выбираем книгу Personal.xls, а затем нажимаем Insert> Module . Помещаем курсор в окно модуля и пишем следующий код:

Sub SortSheets_Ascendant ()

Для a = 1 To Sheets.Count

Для s = a + 1 To Sheets.Count

Если UCase (Sheets (a) .Name)> UCase (Sheets (s) .Name), то

Листы. Переместить до: = Листы (а)

Конец, если

Следующие s

Следующий на

Конец подписки

Закрываем окно, и макрос будет сохранен автоматически. Осталось только проверить, что он работает. Мы открываем книгу, вкладки которой хотим отсортировать, переходим в « Просмотр» и нажимаем « Макросы» или нажимаем сочетание клавиш Alt + F8 . Мы дважды щелкаем по SortSheets_Ascendant , и вкладки книг сразу же размещаются в алфавитном порядке .

Сортировка вкладок Excel по алфавиту

Когда мы закроем Excel, программа спросит нас, хотим ли мы сохранить изменения, внесенные в макросы. Мы принимаем, и наш макрос будет сохранен для использования с книгой, которую мы хотим.

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

С помощью нескольких небольших изменений кода мы можем добиться обратного эффекта: отсортировать вкладки в убывающем алфавитном порядке . Мы повторяем процесс создания макроса, и на этот раз мы вставляем следующий код:

Sub SortSheets_Descending ()

Для a = 1 To Sheets.Count

Для s = a + 1 To Sheets.Count

Если UCase (Sheets (a) .Name) <UCase (Sheets (s) .Name), то

Листы. Переместить до: = Листы (а)

Конец, если

Следующие s

Следующий на

Конец подписки

Вариантов всего две. Первое, конечно же, это название макроса. Второй - это изменение с> на <в четвертой строке кода. Это означает, что порядок листов в книге изменит направление . Теперь, когда вы нажмете « Просмотр»> «Макросы» (или сочетание клавиш Alt + F8 ), вы увидите два недавно созданных макроса. Дважды щелкните SortSheets_Descending и с удовлетворением проверьте результат.

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

Сохраняя изменения при выходе из Excel, эти два макроса будут доступны в любое время . Они сэкономят нам много времени и усилий при работе с особенно громоздкими вкладками книг Excel.