У овом чланку смо дали детаље о томе како да сортирате радне листове у радној свесци узлазним или силазним редоследом, у зависности од назива радног листа.
У приложеној радној свесци постоје два модула:-
Модул1 садржи макро „СортВорксхеетс“ који је додељен дугмету „Субмит“ на листу „Мацро“.
Овај макро сортира све радне листове осим првог радног листа који је главни лист назван „Макро“.
Када корисник кликне на дугме „Пошаљи“, сви листови после листа „Макро“ биће сортирани у растућем или опадајућем редоследу по избору корисника у комбинованом оквиру.
Модул 2 садржи два макроа „АсцендингСортОфВорксхеетс“ и „ДецендингСортОфВорксхеетс“. Приликом покретања „АсцендингСортОфВорксхеетс“ макроа, сортираће све радне листове присутне у радној свесци по растућем редоследу. Приликом покретања макроа „ДецендингСортОфВорксхеетс“, сортираће све радне листове присутне у радној свесци према опадајућем редоследу.
Логичко објашњење
Алгоритам сортирања облачића користи се за сортирање радних листова у радној свесци.
Алгоритам сортирања облачића упоређује сваку ставку у низу са другом ставком у низу и мења их у зависности од тога да ли ће се сортирати узлазним или силазним редоследом. У сваком кораку ће приказати најмању или највећу вредност на врху низа. Алгоритам се понавља док се све ставке не сортирају.
У овом чланку наш циљ је сортирање радних листова у радној свесци према њиховом имену. Радна свеска коју користимо састоји се од различитих радних листова са именима као што су Финансијска контролна табла, Људски ресурси и Контролна табла продаје.
Да бисмо постигли овај циљ, користили смо алгоритам сортирања по облачићима за сортирање радних листова.
Објашњење кода
СортВорксхеетс Мацро
Овај макро ће се покренути када корисник кликне на дугме за слање. Овај макро ће сортирати све радне листове у радној свесци по именима осим првог радног листа у радној свесци. У зависности од вредности коју је корисник изабрао у комбинованом оквиру, он ће сортирати радне листове узлазним или силазним редоследом.
Да бисте додали комбиновани оквир, следите доле наведене кораке:-
-
Идите на картицу Девелопер> Кликните на Инсерт> Кликните на икону комбинованог оквира под контролом обрасца
-
Десним тастером миша кликните комбиновани оквир и кликните на контролу формата.
-
Идите на контролну картицу, Доделите ставку и повежите комбиновано поље са ћелијом КСФЦ1.
ЦомбоБокВалуе = Опсег ("КСФЦ1"). Вредност
Комбиновани оквир на радном листу „Макро“ повезан је са ћелијом КСФЦ1. Дакле, за добијање вредности из ћелије КСФЦ1, користи се променљива ЦомбоБокВалуе.
За и = 2 За СЦоунт - 1
ФОР петља почиње променљивом и, вредност почиње од 2 јер желимо да искључимо први радни лист радне свеске из сортирања.
Ако је ЦомбоБокВалуе = 1 Тада
Услов ИФ се користи за проверу да ли треба сортирати у растућем или опадајућем редоследу. ИФ вредност ЦомбоБокВалуе је 1, затим сортирајте по растућем редоследу, иначе силазном.
Радни листови сортирани по растућем редоследу
Радни листови сортирани по опадајућем редоследу
АсцендингСортОфВорксхеетс и ДецендингСортОфВорксхеетс
Растући макрои АсцендингСортОфВорксхеетс и ДецендингСортОфВорксхеетс могу се покренути притиском на комбинацију тастера Алт + Ф8 или Иди на картицу Девелопер> Кликните на Мацро> одабиром макроа и кликните на Рун. Они ће сортирати све радне листове присутне у радној свесци. Ови макрои се могу изводити и на другим радним свескама.
Радни листови сортирани након покретања макроа АсцендингСортОфВорксхеетс
Радни листови сортирани по растућем низу Макро ДецендингСортОфВорксхеетс
Молимо следите доле за код
Под АсцендингСортОфВорксхеетс () 'Сортирајте радне листове у радној свесци у растућем редоследу Дим СЦоунт, и, ј Ас Интегер' За онемогућавање ажурирања екрана Апплицатион.СцреенУпдатинг = Фалсе 'Добијање укупног броја бр. обожавалаца у радној свесци СЦоунт = Ворксхеетс.Цоунт 'Провера услова да ли је број радних листова већи од 1, ако је цоунт један, изађите из процедуре Иф СЦоунт = 1 тхен Екит Суб' Усинг Буббле сорт ас сортинг алгоритхм 'Лоопинг тхроугх алл ворксхеетс Фор и = 1 За СЦоунт - 1 'Упоређивање назива изабраног листа са другим листовима за премештање изабраног листа на одговарајућу позицију За ј = и + 1 За СЦоунт Иф Ворксхеетс (ј). НазивРадни листови (и). Именујте затим Радне листове (ј). Преместите пре: = Радни листови (и) Крај ако је следећи ј Следећи и Крај под
Ако вам се допао овај блог, поделите га са пријатељима на Фацебооку. Такође, можете нас пратити на Твиттер -у и Фацебоок -у.
Волели бисмо да чујемо од вас, јавите нам како можемо побољшати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште