Как да сортирате автоматично листове и раздели на Excel

Как да сортирате автоматично листове и раздели на Excel

Excel не е просто инструмент за водене на фирмени данни и счетоводство. Силата му се крие във факта, че се използва за класифициране и управление на почти всичко по прост и бърз начин. Можем да създаваме дневни планове, работни квадранти, адресни книги, шаблони за фактури, записи за посещаемост ... Excel обаче не ни позволява да организираме листове на работни книги, нещо много полезно, когато работим с дълги книги. Но можем да сортираме разделите на Excel автоматично с макрос в кода на Visual Basic . Обясняваме как да го направим стъпка по стъпка.

Думите „макрос в кода на Visual Basic“ могат да бъдат плашещи, но всичко е по-лесно, отколкото звучи. Макросът е малка програма, която изпълнява поредица от действия за нас в Excel и служи за автоматизиране на повтарящи се задачи . Макросите са написани в Visual Basic for Applications (или VBA) код, език за програмиране, който ви позволява достъп и разширяване на функциите на Excel.

Редакторът на Visual Basic

За да създадем нашия макрос, трябва да отворим всяка работна книга в Excel и колкото повече раздели има, толкова по-добре.

Сортирайте разделите на Excel

За да отворим редактора на VBA, използваме клавишната комбинация Alt + F11 . След като се появи прозорецът на редактора, ние търсим определена работна книга на Excel, наречена Personal.xls . Тази работна книга има свойството, че каквото и да правим в нея, ще се отрази на всички работни книги . Тоест, ако създадем макрос, можем да го използваме, когато пожелаем.

Редактор на макроси

Ако не можете да намерите личната книга, не се притеснявайте. Излезте от редактора, отворете раздела Excel View , издърпайте менюто Macros и изберете Record Macro . Запазете макроса в личната си макро книга и започнете да записвате. След това отново изведете менюто Macros и спрете записа. Вече имате вашата "специална" книга.

Създайте макрос в Excel

Сега имаме всичко готово за създаване на нов модул . Отваряме редактора на VBA с Alt + F11 , избираме книгата Personal.xls и след това кликваме Insert> Module . Поставяме курсора в прозореца на модула и записваме следния код:

Sub SortSheets_Ascendant ()

За a = 1 към Sheets.Count

За s = a + 1 към Sheets.Count

Ако UCase (Sheets (a) .Name)> UCase (Sheets (s) .Name) Тогава

Листове (и). Преместване преди: = Листове (а)

Край ако

Следваща s

До

Крайна под

Затваряме прозореца и макросът ще се съхранява автоматично. Остава само да се провери дали работи. Отваряме книгата, чиито раздели искаме да поръчаме, отиваме в Преглед и кликваме върху Макроси или натискаме клавишната комбинация Alt + F8 . Щракваме два пъти върху SortSheets_Ascendant и разделите на книгата ще бъдат поставени в азбучен ред за миг .

Сортирайте разделите на Excel по азбучен ред

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

Сортирайте листовете в низходящ ред

С няколко малки промени в кода можем да постигнем обратен ефект: сортиране на разделите в низходящ азбучен ред . Повтаряме процеса за създаване на макроса и този път вмъкваме следния код:

Sub SortSheets_Descending ()

За a = 1 към Sheets.Count

За s = a + 1 към Sheets.Count

Ако UCase (Sheets (a) .Name) <UCase (Sheets (s) .Name) Тогава

Листове (и). Преместване преди: = Листове (а)

Край ако

Следваща s

До

Крайна под

Има само две вариации. Първото, разбира се, е името на макроса. Втората е промяната от> на <в четвъртия ред на кода. Това означава, че подреждането на листовете в книгата ще промени посоката . Сега, когато щракнете върху Преглед> Макроси (или прекия път Alt + F8 ), ще видите двата новосъздадени макроса. Щракнете двукратно върху SortSheets_Descending и проверете със задоволство ефекта му.

Сортирайте Excel листове по низходящ ред

Запазвайки промените при излизане от Excel, ще разполагаме с тези два макроса по всяко време . Те ще ни спестят много време и усилия при работа с раздели на работни книги на Excel, които са особено обемисти.