Darblapu kārtošana darbgrāmatā, izmantojot Microsoft Excel VBA

Anonim

Šajā rakstā mēs esam snieguši informāciju par to, kā kārtot darblapas darbgrāmatā augošā vai dilstošā secībā atkarībā no darblapas nosaukuma.

Pievienotajā darbgrāmatā ir divi moduļi:-

1. modulis satur makro “SortWorksheets”, kas ir piešķirts pogai “Iesniegt” lapas “Macro” lapā.

Šis makro kārto visas darblapas, izņemot pirmo darblapu, kas ir galvenā lapa ar nosaukumu “Makro”.

Kad lietotājs noklikšķina uz pogas “Iesniegt”, visas lapas pēc lapas “Makro” tiks sakārtotas augošā vai dilstošā secībā, kā lietotājs izvēlējies kombinētajā lodziņā.

2. modulis satur divus makro “AscendingSortOfWorksheets” un “DecendingSortOfWorksheets”. Palaižot makro “AscendingSortOfWorksheets”, tas sakārtos visas darbgrāmatā esošās darblapas augošā secībā. Palaižot makro “DecendingSortOfWorksheets”, tas sakārtos visas darbgrāmatā esošās darblapas dilstošā secībā.

Loģisks skaidrojums

Darbgrāmatas darblapu šķirošanai tiek izmantots burbuļu kārtošanas algoritms.

Burbuļu kārtošanas algoritms salīdzina katru masīva vienumu ar citu masīva vienumu un apmaina tos atkarībā no tā, vai kārtot augošā vai dilstošā secībā. Katrā solī mazākā vai lielākā vērtība tiks burbuļota masīva augšdaļā. Algoritms atkārtojas, līdz tiek sakārtoti visi vienumi.

Šajā rakstā mūsu mērķis ir sakārtot darbgrāmatas darblapas pēc to nosaukuma. Mūsu izmantotā darbgrāmata sastāv no dažādām darblapām ar nosaukumiem, piemēram, finanšu informācijas panelis, cilvēkresursi un pārdošanas informācijas panelis.

Lai sasniegtu šo mērķi, darblapu šķirošanai esam izmantojuši burbuļu kārtošanas algoritmu.

Koda skaidrojums

SortWorksheets Macro

Šis makro tiks palaists, kad lietotājs noklikšķinās uz pogas Iesniegt. Šis makro sakārtos visas darbgrāmatas darblapas pēc to nosaukumiem, izņemot darbgrāmatas pirmo darblapu. Atkarībā no vērtības, ko lietotājs izvēlējies kombinētajā lodziņā, tā kārtos darblapas augošā vai dilstošā secībā.

Lai pievienotu kombinēto lodziņu, rīkojieties šādi:-

  1. Atveriet cilni Izstrādātājs> Noklikšķiniet uz Ievietot> Veidlapas vadīklā noklikšķiniet uz kombinētā lodziņa ikonas

  1. Ar peles labo pogu noklikšķiniet uz kombinētā lodziņa un noklikšķiniet uz formāta vadības.

  1. Atveriet vadības cilni, piešķiriet vienumu un saistiet kombinēto lodziņu ar šūnu XFC1.

ComboBoxValue = Diapazons ("XFC1"). Vērtība

Kombinētais lodziņš darblapā “Makro” ir saistīts ar šūnu XFC1. Tātad, lai iegūtu vērtību no šūnas XFC1, tiek izmantots ComboBoxValue mainīgais.

Ja i = 2 līdz SCount - 1

FOR cilpa sākas ar mainīgo i, vērtība sākas no 2, jo mēs vēlamies izslēgt darbgrāmatas pirmo darblapu no šķirošanas.

Ja ComboBoxValue = 1 Tad

IF nosacījums tiek izmantots, lai pārbaudītu, vai kārtot augošā vai dilstošā secībā. IF ComboBoxValue vērtība ir 1, tad kārtojiet augošā secībā, citādi dilstošā secībā.

Darblapas sakārtotas augošā secībā

Darblapas sakārtotas dilstošā secībā

AscendingSortOfWorksheets un DecendingSortOfWorksheets

AscendingSortOfWorksheets un DecendingSortOfWorksheets makro var palaist, nospiežot īsinājumtaustiņu Alt + F8 vai dodieties uz cilni Izstrādātājs> Noklikšķiniet uz makro> atlasot makro un noklikšķiniet uz palaist. Viņi sakārtos visas darbgrāmatā esošās darblapas. Šos makro var palaist arī citās darbgrāmatās.

Darblapas sakārtotas pēc AscendingSortOfWorksheets makro palaišanas

Darblapas sakārtotas augošā secībā DecendingSortOfWorksheets makro

Lūdzu, sekojiet tālāk norādītajam kodam

 Sub AscendingSortOfWorksheets () 'Kārtot darblapas darbgrāmatā augošā secībā Dim SCount, i, j As Integer' Ekrāna atjauninājumu atspējošanai Application.ScreenUpdating = False 'Getting total no. no grāmatzīmēm darbgrāmatā SCount = Worksheets.Count 'Pārbauda stāvokli, vai darblapu skaits ir lielāks par 1, ja skaits ir viens, tad iziet no procedūras Ja SCount = 1 tad iziet no apakšdaļas' Izmantojot burbuļu kārtošanu kā šķirošanas algoritmu ' = 1 uz SCount - 1 'Izvēlētās lapas nosaukuma salīdzināšana ar citām lapām, lai atlasīto lapu pārvietotu uz atbilstošo pozīcijuJ = i + 1 uz SCount, ja darblapas (j).  Darblapas (i). Nosaukums Pēc tam darblapas (j). Pārvietot pirms: = Darblapas (i) Beigt, ja nākamā j Nākamā i Beigu apakšdaļa 

Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē