Selles artiklis oleme esitanud üksikasjad selle kohta, kuidas sortida töövihiku töölehti kasvavas või kahanevas järjekorras, sõltuvalt töölehe nimest.
Lisatud töövihikus on kaks moodulit:-
Moodul 1 sisaldab makro "SortWorksheets", mis on määratud lehel "Makro" nupule "Esita".
See makro sorteerib kõik töölehed, välja arvatud esimene tööleht, mis on peamine leht nimega „Makro”.
Kui kasutaja klõpsab nupul „Esita”, sorteeritakse kõik lehed pärast „Makro” lehte kasvavas või kahanevas järjekorras, nagu kasutaja on valinud liitkastis.
Moodul2 sisaldab kahte makrot “AscendingSortOfWorksheets” ja “DecendingSortOfWorksheets”. Makro „AscendingSortOfWorksheets” käivitamisel sorteerib see kõik töövihikus olevad töölehed kasvavas järjekorras. Makro „DecendingSortOfWorksheets” käivitamisel sorteerib see kõik töövihikus olevad töölehed kahanevas järjekorras.
Loogiline seletus
Töövihiku töölehtede sortimiseks kasutatakse mullide sortimise algoritmi.
Mullide sortimise algoritm võrdleb massiivi kõiki üksusi massiivi teiste üksustega ja vahetab need vastavalt sellele, kas sortida kasvavas või kahanevas järjekorras. Igas etapis mullitab see väikseima või suurima väärtuse massiivi ülaossa. Algoritm kordub, kuni kõik üksused on sorteeritud.
Selles artiklis on meie eesmärk sortida töövihiku töölehed nende nime järgi. Töövihik, mida me kasutame, koosneb erinevatest töölehtedest nimedega nagu Financial Dashboard, Human Resources ja Sales Dashboard.
Selle eesmärgi saavutamiseks oleme töölehtede sortimiseks kasutanud mullide sortimise algoritmi.
Koodi selgitus
SortWorksheets Macro
See makro käivitub, kui kasutaja klõpsab nupul Esita. See makro sorteerib kõik töövihiku töölehed nende nimede järgi, välja arvatud töövihiku esimene tööleht. Sõltuvalt kasutaja valitud väärtusest liitkastis sorteerib see töölehed kasvavas või kahanevas järjekorras.
Lisakasti lisamiseks toimige järgmiselt.-
-
Avage vahekaart Arendaja> Klõpsake nuppu Sisesta> Klõpsake vormikontrolli all olevat liitkasti ikooni
-
Paremklõpsake liitkasti ja klõpsake vormingukontrolli.
-
Minge vahekaardile Juhtimine, määrake üksus ja linkige liitkasti lahtriga XFC1.
ComboBoxValue = Vahemik ("XFC1"). Väärtus
Töölehe „Makro” liitkast on lingitud lahtriga XFC1. Seega kasutatakse lahtrist XFC1 väärtuse saamiseks muutujat ComboBoxValue.
Kui i = 2 kuni SCount - 1
FOR tsükkel algab muutujaga i, väärtus algab 2 -st, kuna tahame töövihiku esimese töölehe sortimisest välja jätta.
Kui ComboBoxValue = 1 Siis
IF tingimust kasutatakse kontrollimaks, kas sortida kasvavas või kahanevas järjekorras. Kui ComboBoxValue väärtus on 1, siis sorteerige kasvavas järjekorras, muidu kahanevas järjekorras.
Töölehed on järjestatud kasvavas järjekorras
Töölehed sorteeritud kahanevas järjekorras
AscendingSortOfWorksheets ja DecendingSortOfWorksheets
Makroid AscendingSortOfWorksheets ja DecendingSortOfWorksheets saab käivitada, vajutades kiirklahvi Alt + F8 või minge vahekaardile Arendaja> Klõpsake makro> valige makro ja klõpsake nuppu Käivita. Nad sorteerivad kõik töövihikus olevad töölehed. Neid makrosid saab käivitada ka teistes töövihikutes.
Töölehed sorteeriti pärast AscendingSortOfWorksheets makro käivitamist
Töölehed sorteeritakse kasvavas järjekorras DecendingSortOfWorksheets makro
Palun järgige koodi allpool
Sub AscendingSortOfWorksheets () 'Töövihiku töölehtede sortimine kasvavas järjekorras Dim SCount, i, j As Integer' Ekraanivärskenduste keelamiseks Application.ScreenUpdating = False 'Getting total no. töövihiku veergudest SCount = Töölehed. Loend "Kontrollige, kas töölehtede arv on suurem kui 1, Kui arv on üks, siis väljuge protseduurist. = 1 SCountile - 1 'Valitud lehe nime võrdlemine teiste lehtedega valitud lehe teisaldamiseks sobivasse kohta J = i + 1 SCount kui töölehed (j). NimiTöölehed (i). Nimi Seejärel töölehed (j). Liiguta enne: = Töölehed (i) Lõpeta, kui järgmine j Järgmine i Lõpp Alam
Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.
Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile