Макросите на Excel може да не са толкова изчерпателни, колкото другите инструменти за автоматизация, но валидността и ефективността на Excel VBA не могат да бъдат подкопани. Ако работите в Excel и други инструменти на Microsoft Office като Word и Access, няма как да сбъркате с VBA и неговите възможности.

MS Excel е мощен инструмент, който предлага множество опции на своите потребители. От съхраняване на данни до създаване на автоматизирани табла за управление, можете да правите всичко в Excel и неговите електронни таблици.

Ако искате да използвате VBA за автоматизиране на вашите отговорности за сортиране в Excel, опитайте тези ефективни лесни за прилагане макроси.

Изтеглете фиктивен набор от данни

Като за начало можете да изтеглите фиктивен набор от данни, за да работите върху вашите макро умения в Excel.

Бъдете сигурни, след като овладеете тези макроси и разберете по-добре как работят нещата, можете да преместите кода, за да пасне на вашите собствени електронни таблици за работа или училище.

instagram viewer

Можете да изтеглите набора от данни, използван в тази статия, ако искате да следвате.

Изтегли: Набор от данни на Excel

1. Сортиране на една колона с помощта на макроси на Excel

Използвайте този прост код, за да сортирате колона с данни в електронна таблица на Excel. Ако сте изтеглили фиктивния набор от данни, можете да опитате да сортирате колона E (Продадени единици).

Отворете нов файл на Excel и го запазете с Работна книга с активиран макрос на Excel (.xlsm) вид работна книга. Този файл ще съхранява макроса за сортиране на вашите данни от друг файл.

Свързани: Най-добрите онлайн курсове за овладяване на Advanced Excel

Вие ще контролирате вашите файлове от макро файла, който ще взаимодейства с вашите работни книги отделно.

Въведете следния код:

Подсортиране с заглавия ()
Работни книги("Финансова проба.xlsx").Листове (1).Активирайте
Range("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes
Край под

Където:

  • Ключ 1: Определете колоните, които искате да сортирате
  • Поръчка 1: Метод на подреждане (възходящ/низходящ)
  • Заглавка: Ако съдържанието ви има заглавки, тази опция ще остане като xlДа. Като алтернатива изберете xlNo.

Диапазонът ще се състои от началната клетка и адреса на крайната клетка, така че всичко да бъде уловено за целите на сортирането. Резултатът е, че целият ви набор от данни ще бъде сортиран въз основа на данните в колона E.

2. Сортиране на динамични данни в една колона

Може да има случаи, в които началната ви точка е дефинирана, но крайната ви точка е динамична. В такъв случай можете да направите своя код динамичен, така че да улавя края на диапазона автоматично.

За да коригирате промяната в данните, използвайте кода по-долу:

Подсортиране с заглавия ()
Работни книги("Финансова проба.xlsx").Листове (1).Активирайте
Range("A1", Range("A1").End (xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes
Край под

Където:

  • Край (xlDown): Тази функция автоматично ще избере последната попълнена клетка

Забележка: Ако формулата срещне празна клетка в колона, тя ще счита предходната клетка за край на диапазона.

Свързани: Как да създадете персонализирани клавишни комбинации в Microsoft Excel

3. Сортиране на няколко колони заедно

Може да има ситуации, когато искате да сортирате данни в няколко колони наведнъж. За да направите това, можете да използвате следния код, за да постигнете целта си:

ПодсортиранеМногоколони()
С работни листове ("Лист1")
С .Cells (1, "A").CurrentRegion
.Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("E1"), Order2:=xlAscending, _
Ориентация:=xlTopToBottom, Заглавка:=xlYes
Край с
Край с
Край под

4. Сортиране на колони в множество листа

Когато имате работа с множество листа, може да искате да подготвите данните си за поставяне в табло за управление. Един от най-важните аспекти на подготовката на данните е сортирането им и подреждането на данните в определен формат за представяне на вашите заинтересовани страни или клиенти.

Една от опциите е да преминете през всеки лист ръчно, да сортирате необходимите колони и след това да преминете към следващата стъпка. Като алтернатива, защо не позволите на VBA да го направи вместо вас?

Целта на кода по-долу е да премине през всеки наличен лист в работната книга и да сортира наличните данни въз основа на посочените колони.

Свързани: Функции за търсене в Microsoft Excel за по-ефективно търсене в електронни таблици

Ето как можете да сортирате колони в няколко листа:

Подсортиране WS()
Dim ws като работен лист
„Активирайте предвидения работен лист
Работни книги("Financial Sample.xlsx").Активирайте
„Превъртете автоматично през всеки отделен работен лист, като използвате цикъла for
За всеки ws в ActiveWorkbook. Листове
„активирайте всеки отделен работен лист
ws. Активирате
„Определете диапазона и след това сортирайте колоната на базата на вашите изисквания. В този случай само една колона се сортира.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
„Команда, използвана за преминаване към следващия работен лист, след като предишният работен лист е сортиран
Следващата ws
Край под

Цялата информация, започваща с единични кавички, са VBA коментари. Те не се изпълняват по време на етапа на изпълнение. Въпреки това, всеки VBA коментар, който добавяте, е смислено допълнение към кода, тъй като можете да дефинирате същността, функционалността и други подходящи части в кодовите секции.

5. Копиране на сортирани данни от един лист в друг

Представете си ситуация, в която искате да сортирате данните и да копирате целия набор от данни (или части от него) в новодобавен лист. В такива случаи можете да използвате кода по-долу, за да изпълните задачата:

Подсортиране WS()
Dim ws като работен лист
„Активирайте предвидения работен лист
Работни книги("Financial Sample.xlsx").Активирайте
„Превъртете автоматично през всеки отделен работен лист, като използвате цикъла for
За всеки ws в ActiveWorkbook. Листове
„активирайте всеки отделен работен лист
ws. Активирате
„Определете диапазона и след това сортирайте колоната на базата на вашите изисквания.
„В този случай само една колона се сортира.
Range("A1", Range("p1").End (xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
„Команда, използвана за преминаване към следващия работен лист, след като предишният работен лист е сортиран
Следващата ws
„Създайте нов работен лист в работната книга, за да съхранявате новите данни
ActiveWorkbook. Листове. Добавете. Име = "Резултати"
„Копирайте и поставете сортираните данни в новодобавения лист
Sheets("Sheet1").Обхват("A1:p701").Копиране Дестинация:=Листове("Резултати").Обхват("a1")
Край под

Горният код ще сортира стойностите в колона E, ще добави нов лист Резултати в съществуващата работна книга и поставете сортираните резултати в клетка A1.

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

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

За щастие, функционалността на Excel не свършва с макроси. Вижте някои съвети и трикове, за да станете по-ефективен потребител на Excel.

Топ 9 уебсайта и блогове, за да научите съвети и трикове за Excel

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

Прочетете Следващото

Дялтуителектронна поща
Свързани теми
  • Програмиране
  • Microsoft Excel
  • Макроси
За автора
Гаурав Сиял (Публикувани 8 статии)

Gaurav Siyal има две години опит в писането, като пише за серия от фирми за дигитален маркетинг и документи за жизнения цикъл на софтуера.

Още от Gaurav Siyal

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате