В этой статье мы изучим сортировку листов в порядке возрастания с помощью VBA в Microsoft Excel 2010.

При работе с несколькими листами вы обнаружите, что листы не расположены должным образом. Вы хотите быстро создать макрос, который будет автоматически сортировать лист в порядке возрастания при каждом запуске макроса.

img1

Чтобы отсортировать листы в порядке возрастания, выполните следующие действия:

Нажмите Alt + F11, чтобы открыть экран редактора VB. В меню «Вставка» выберите «Модуль».

img2

  • В модуле введите следующие строки кода:

Sub SortingSheetsInAscending ()

Dim i как целое число, n как целое число, SheetsCounter как целое число, если ActiveWorkbook не имеет значения, затем выйдите из подпрограммы, если ActiveWorkbook.ProtectStructure Затем MsgBox ActiveWorkbook.Name & «is protected», vbCritical, «Sort Sheets»

Exit Sub End If If If MsgBox («Сортировать листы?», VbQuestion + vbYesNo) <> vbYes Then Exit Sub Application.EnableCancelKey = xlDisabled SheetsCounter = Sheets.Count For i = 2 To SheetsCounter For n = 1 To SheetsCounter If Sheets (сущ.) .Name> Sheets (i) .Name Then Sheets (i) .Move before: = Sheets (n)

End If Next n Next i End Sub

img3

  • Запустите макрос из модуля, нажав F5.

Либо нажмите Alt + F11 и вернитесь в Excel, назначьте макрос любому объекту Excel в виде кнопки или значка или нажмите Alt + F8, чтобы выбрать макрос, а затем нажмите «Выполнить».

Вы обнаружите, что листы расположены в алфавитно-цифровом порядке.

img4