Как да подредите разделите в Excel по азбучен ред във възходящ и низходящ ред

  • Споделя Това
Michael Brown

В урока е показано как можете бързо да сортирате работните листове на Excel по азбучен ред с помощта на код VBA и инструмента Workbook Manager.

Microsoft Excel предлага редица бързи и лесни начини за подреждане на колони или редове в азбучен ред. Но има само един метод за пренареждане на работни листове в Excel - плъзнете ги до желаната позиция в лентата с разделите на листа. Когато става въпрос за подреждане на разделите по азбучен ред в наистина голяма работна книга, това може да е дълъг и погрешен начин. Търсите алтернатива, която да спести време? Съществуват само две: код VBAили инструменти на трети страни.

    Как да подреждате по азбучен ред разделите в Excel с VBA

    По-долу ще намерите три примера за VBA код за сортиране на листове на Excel във възходяща, низходяща и в двете посоки според избора на потребителя.

    Предполагаме, че имате известен опит с VBA, но ще опишем само основните стъпки за добавяне на макрос към работния лист:

    1. В работната книга на Excel натиснете Alt + F11, за да отворите редактора на Visual Basic.
    2. В левия прозорец щракнете с десния бутон на мишката върху Тази работна книга , след което щракнете върху Вмъкване на > Модул .
    3. Поставете кода VBA в прозореца Код.
    4. Натиснете 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 "The tabs have been sorted from A to 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 "The tabs have been sorted from Z to A." End Sub

    Подреждане на разделите по азбучен ред във възходящ или низходящ ред

    Този макрос позволява на потребителите ви да решат как да сортират работните листове в дадена работна книга - по азбучен ред от А до Я или в обратен ред.

    Тъй като стандартният диалогов прозорец (MsgBox) в Excel VBA позволява избор само от няколко предварително дефинирани бутона, ще създадем собствена форма (UserForm) с три потребителски бутона: От А до Я , Z към A , и Отмяна на .

    За целта отворете редактора на Visual Basic, щракнете с десния бутон на мишката върху Тази работна книга и щракнете върху Вмъкване на > Потребителски формуляр . Име на вашия формуляр 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 от тук.

    Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.