Оглавление
В учебнике показано, как можно быстро отсортировать рабочие листы Excel в алфавитном порядке с помощью кода VBA и инструмента Workbook Manager.
Microsoft Excel предоставляет несколько быстрых и простых способов расположить столбцы или строки в алфавитном порядке. Но существует только один метод перестановки рабочих листов в Excel - перетащить их в нужное положение на панели вкладок листа. Когда дело доходит до расположения вкладок в алфавитном порядке в действительно большой рабочей книге, этот способ может оказаться долгим и ошибочным. Ищете альтернативу, экономящую время? Их существует всего два: код VBAили инструменты сторонних производителей.
Как расположить вкладки в Excel в алфавитном порядке с помощью VBA
Ниже приведены три примера кода VBA для сортировки листов Excel по возрастанию, убыванию и в любом направлении по выбору пользователя.
Предполагая, что у вас есть некоторый опыт работы с VBA, мы опишем только основные шаги по добавлению макроса в рабочий лист:
- В рабочей книге Excel нажмите Alt + F11, чтобы открыть редактор Visual Basic.
- На левой панели щелкните правой кнопкой мыши ThisWorkbook , а затем нажмите Вставка > Модуль .
- Вставьте код VBA в окно Код.
- Нажмите F5, чтобы запустить макрос.
Подробные пошаговые инструкции см. в статье Как вставить и запустить код VBA в Excel.
Совет. Если вы хотите сохранить макрос для дальнейшего использования, обязательно сохраните файл как рабочую книгу Excel с поддержкой макросов (.xlsm).
Кроме того, вы можете загрузить наш образец рабочей книги Alphabetize Excel Tabs, включить содержимое, если потребуется, и запустить нужный макрос прямо из нее. Рабочая книга содержит следующие макросы:
- TabsAscending - сортировать листы в алфавитном порядке от А до Я.
- TabsDescending - расположите листы в обратном порядке, от Z к A.
- AlphabetizeTabs - сортировать вкладки листа в обоих направлениях, по возрастанию или по убыванию.
Когда образец рабочей книги загружен и открыт в Excel, откройте свою собственную рабочую книгу, в которой вы хотите расположить вкладки в алфавитном порядке, нажмите Alt + F8 , выберите нужный макрос и нажмите кнопку Запускайте .
Сортировка вкладок Excel в алфавитном порядке от A до Z
Этот небольшой макрос упорядочивает листы в текущей рабочей книге следующим образом возрастающий алфавитно-цифровой порядок Сначала листы, названия которых начинаются с цифр, затем листы от А до Я.
Sub TabsAscending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name)> UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "Вкладки были отсортированы от A до Z." End SubУпорядочить вкладки Excel от Z до A
Если вы хотите сортировать листы в убывающий алфавитно-цифровой порядок (от Z до A, затем листы с числовыми именами), затем используйте следующий код:
Sub TabsDescending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) <UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Вкладки были отсортированы от Z до A." End SubРасположить вкладки в алфавитном порядке по возрастанию или убыванию
Этот макрос позволяет вашим пользователям решать, как сортировать рабочие листы в данной рабочей книге: в алфавитном порядке от A до Z или в обратном порядке.
Поскольку стандартное диалоговое окно (MsgBox) в Excel VBA позволяет выбирать только из нескольких предопределенных кнопок, мы создадим собственную форму (UserForm) с тремя пользовательскими кнопками: От А до Я , от Z до A и Отмена .
Для этого откройте редактор Visual Basic, щелкните правой кнопкой мыши ThisWorkbook , и нажмите Вставка > UserForm . Назовите свою форму SortOrderFrom , и добавьте к нему 4 элемента управления: метку и три кнопки:
Затем нажмите F7 (или дважды щелкните по форме), чтобы открыть окно Код Код перехватывает нажатия на кнопки и присваивает каждой кнопке уникальный тег:
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click() Me.Tag = 0 Me.Hide End SubВ зависимости от того, нажмет ли пользователь кнопку От А до Я или от Z до A на вашей форме, сортировать вкладки в возрастающем алфавитном порядке (выбран по умолчанию) или в убывающем алфавитном порядке; или закрыть форму и ничего не делать в случае, если Отмена Это делается с помощью следующего кода VBA, который вы вставляете обычным способом через Вставка > Модуль .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name)> UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name)<UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Load SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionЕсли вы еще не очень хорошо владеете VBA, вы можете просто скачать наш образец рабочей книги для сортировки вкладок по алфавиту, открыть его в Excel рядом с вашим собственным файлом, в котором вы хотите сортировать вкладки, и выполнить команду AlphabetizeTabs макрос из вашей рабочей книги:
Выберите предпочтительный порядок сортировки, например, От А до Я , и наблюдайте за результатами:
Совет. С помощью VBA вы также можете создавать копии рабочих листов Excel. Код доступен здесь: Как дублировать лист в Excel с помощью VBA.
Как отсортировать вкладки Excel по алфавиту с помощью Ultimate Suite
Пользователям нашего Ultimate Suite для Excel не нужно возиться с VBA - в их распоряжении многофункциональный Workbook Manager:
С помощью этого инструмента, добавленного на ленту Excel, алфавит вкладок выполняется одним нажатием кнопки, как и должно быть!
Если вам интересно изучить эти и еще 70 профессиональных инструментов для Excel, пробную версию нашего пакета Ultimate Suite можно загрузить здесь.
Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!