V tem članku smo podali podrobnosti o tem, kako razvrstiti delovne liste v delovnem zvezku v naraščajočem ali padajočem vrstnem redu, odvisno od imena delovnega lista.
V priloženem delovnem zvezku sta dva modula:-
Modul 1 vsebuje makro »SortWorksheets«, ki je dodeljen gumbu »Submit« na listu »Macro«.
Ta makro razvršča vse delovne liste, razen prvega, ki je glavni list z imenom »Makro«.
Ko uporabnik klikne gumb »Pošlji«, bodo vsi listi za listom »Makro« razvrščeni v naraščajočem ali padajočem vrstnem redu, kot jih uporabnik izbere v kombiniranem polju.
Modul 2 vsebuje dva makra "AscendingSortOfWorksheets" in "DecendingSortOfWorksheets". Ko zaženete makro »AscendingSortOfWorksheets«, bo vse delovne liste v delovnem zvezku razvrstil po naraščajočem vrstnem redu. Ko zaženete makro »DecendingSortOfWorksheets«, bo vse delovne liste v delovnem zvezku razvrstil po padajočem vrstnem redu.
Logična razlaga
Algoritem razvrščanja mehurčkov se uporablja za razvrščanje delovnih listov v delovnem zvezku.
Algoritem razvrščanja mehurčkov primerja vsak element v matriki z drugim elementom v matriki in jih zamenja, odvisno od tega, ali naj se razvrsti po naraščajočem ali padajočem vrstnem redu. V vsakem koraku bo na vrhu matrike objavila najmanjšo ali največjo vrednost. Algoritem se ponavlja, dokler niso vsi elementi razvrščeni.
V tem članku je naš cilj razvrščanje delovnih listov v delovnem zvezku po imenu. Delovni zvezek, ki ga uporabljamo, sestavljajo različni delovni listi z imeni, kot so Finančna nadzorna plošča, Človeški viri in Prodajna nadzorna plošča.
Za dosego tega cilja smo uporabili algoritem razvrščanja mehurčkov za razvrščanje delovnih listov.
Razlaga kode
Makro razvrščanja delovnih listov
Ta makro se zažene, ko uporabnik klikne gumb za oddajo. Ta makro bo vse delovne liste v delovnem zvezku razvrstil po njihovih imenih, razen prvega v delovnem zvezku. Odvisno od vrednosti, ki jo uporabnik izbere v kombiniranem polju, bo razvrstil delovne liste v naraščajočem ali padajočem vrstnem redu.
Če želite dodati kombinirano polje, sledite spodnjim korakom:-
-
Pojdite na zavihek Razvijalec> Kliknite Vstavi> Kliknite ikono kombiniranega polja pod nadzorom obrazca
-
Z desno miškino tipko kliknite kombinirano polje in kliknite na nadzor oblike.
-
Pojdite na zavihek Control, dodelite element in povežite kombinirano polje s celico XFC1.
ComboBoxValue = Obseg ("XFC1"). Vrednost
Kombinirano polje na delovnem listu »Makro« je povezano s celico XFC1. Torej, za pridobivanje vrednosti iz celice XFC1 se uporablja spremenljivka ComboBoxValue.
Za i = 2 Za SCount - 1
Zanka FOR se začne s spremenljivko i, vrednost se začne z 2, saj želimo izključiti prvi delovni list delovnega zvezka iz razvrščanja.
Če je ComboBoxValue = 1, potem
Pogoj IF se uporablja za preverjanje, ali naj se razvrsti po naraščajočem ali padajočem vrstnem redu. Če je vrednost ComboBoxValue 1, potem razvrstite po naraščajočem vrstnem redu, sicer padajočem.
Delovni listi so razvrščeni po naraščajočem vrstnem redu
Delovni listi so razvrščeni po padajočem vrstnem redu
NaraščajočeSortOfWorksheets in DecendingSortOfWorksheets
Macere AscendingSortOfWorksheets in DecendingSortOfWorksheets lahko zaženete s pritiskom na bližnjico Alt + F8 ali pojdite na zavihek Razvijalec> Kliknite Makro> izberite makro in kliknite Zaženi. Razvrstili bodo vse delovne liste, ki so prisotni v delovnem zvezku. Ti makri se lahko izvajajo tudi v drugih delovnih zvezkih.
Delovni listi so razvrščeni po zagonu makra AscendingSortOfWorksheets
Delovni listi razvrščeni po naraščajočem vrstnem redu makro DecendingSortOfWorksheets
Za kodo sledite spodaj
Sub AscendingSortOfWorksheets () 'Razvrsti delovne liste v delovnem zvezku v naraščajočem vrstnem redu Dim SCount, i, j As Integer' Za onemogočanje posodobitev zaslona Application.ScreenUpdating = False 'Pridobivanje skupne št. oboževalcev v delovnem zvezku SCount = Worksheets.Count 'Preverjanje pogoja, ali je število delovnih listov večje od 1, Če je število eno, potem zapustite postopek Če je SCount = 1 Potem zapustite Sub' Uporaba razvrščanja mehurčkov kot algoritem za razvrščanje 'Ponavljanje po vseh delovnih listih Za i = 1 Za SCount - 1 'Primerjava imena izbranega lista z drugimi listi za premik izbranega lista na ustrezno mesto Za j = i + 1 Za SCount If Worksheets (j).Delovni listi (i). Poimenujte nato delovne liste (j). Premaknite se prej: = delovni listi (i) Končaj, če je naslednji j Naprej i Končaj pod
Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.
Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte