Екцел ВБА сортирање

Постоје различити начини за сортирање података у Мицрософт Екцел-у. На траци картице Екцел Дата налази се икона за сортирање одакле можете своје податке сортирати на тренутак и добити резултате. Зашто је онда потребно написати сложени ВБА код?

Морате га имати на уму сваки пут, ВБА кодови су ту да аутоматизују ствари. Претпоставимо да имате податке који се повремено ажурирају. Можда сваки дан, недељно, месечно, итд. И потребни су вам подаци на посебно сортиран начин. У таквим се случајевима може употребљавати ВБА СОРТ функција која ће се појавити као згодан алат за вашу референцу.

ВБА има метод Ранге.Сорт за сортирање података за вас. Где Ранге одређује опсег ћелија које желимо да сортирамо узлазним или силазним редоследом.

Синтакса за Ранге.Сорт је дата испод:

Где,

  • Кључ - Ступац / распон који требате сортирати. Нпр. Ако желите да сортирате ћелије А1: А10, требало би да поменете распон (А1: А10)
  • Наручи - Ово је параметар који вам омогућава да сортирате податке узлазним или силазним редоследом.
  • Заглавље - Ово је параметар који одређује да ли ваш ступац / распон имају заглавља или не.

Ова три параметра су довољна за наш поступак. Међутим, постоје неки други параметри као што су МатцхЦасе, СортМетход, итд., Које увек можете истражити и видети како они функционишу.

Како се користи функција Екцел ВБА за сортирање?

Научићемо како се ВБА Сорт може користити за сортирање колоне без заглавља, колоне са заглављима и Више колона са примерима у екцелу.

Овде можете преузети овај ВБА шаблон за сортирање у Екцелу - ВБА Сортирај предложак Екцела

ВБА функција сортирања - пример бр. 1

Сортирање једног ступца без заглавља

Претпоставимо да имате ступац са именима како је приказано у наставку, а све што требате је сортирати ове податке абецедним редом према растућем или силазном редоследу.

Следите доле наведене кораке за употребу функције сортирања у ВБА.

Корак 1: Дефинишите нови суп-поступак под модулом и креирајте макро.

Шифра:

 Суб СортЕк1 () Крај Суб 

2. корак: Користите функцију Ранге.Сорт да бисте могли да сортирате овај ступац узлазним редоследом.

Шифра:

 Под СортЕк1 () Опсег ("А1", Распон ("А1"). Крај (клДовн)). Сорт Енд Суб 

Овде дајете распон почевши од ћелије А1 до последње коришћене / не празне ћелије (погледајте функцију .Енд (клДовн)) до функције Ранге.Сорт.

Корак 3: Унесите вредности аргумента.

Шифра:

 Под СортЕк1 () Опсег ("А1", Распон ("А1"). Крај (клДовн)) Кључ сортирања1: = Опсег ("А1"), Ред1: = клАсцендинг, Хеадер: = клНо Енд Суб 

Као што смо раније расправљали, кључ, наредба и заглавље су важни и потребни аргументи које треба пружити. Дали смо распон („А1“) као почетни опсег ступаца који требамо сортирати. Наруџба се пружа као растућа и заглавље као не (што значи да ступац нема заглавље).

Овај код ће проверити све не-празне ћелије почевши од А1 и затим их сортирати узлазним редоследом почевши од ћелије А1.

Корак 4: Покрените овај код притиском на Ф5 или Рун дугме и ручно погледајте излаз.

Ако то можете упоредити са сликом на почетку овог примера, можете видети да су имена поређана узлазним редоследом.

ВБА функција сортирања - пример бр. 2

Разврставање једне колоне са заглављем

Претпоставимо да имате ступац са заглављем као што је приказано у наставку. И хтели сте да сортирате овај ступац узлазним или силазним редоследом.

Следите доле наведене кораке за употребу функције сортирања у ВБА.

Корак 1: Дефинишите нови под-поступак према новом моделу за чување макроа.

Шифра:

 Суб СортЕк2 () Крај Суб 

Корак 2: Употријебите таблице („Примјер бр. 2“) да бисте одредили на којем су листу ваши подаци.

Шифра:

 Суб СортЕк2 () листови ("Екампле # 2") Крај Суб 

Корак 3: Користите опсег ("А1"). Сортирајте испред горње линије кода да бисте га поставили као функцију сортирања.

Шифра:

 Суб СортЕк2 () листови ("Пример # 2"). Распон ("А1"). Сорт Енд Суб 

Корак 4: Обезбедите Кеи1 као распон („А1“) да бисте сортирали податке из ћелије А1, Ордер1 како бисте податке сортирали у узлазном или силазном редоследу, а Хеадер као Иес да би систем знао да је први ред заглавље у вашем података.

Шифра:

 Суб СортЕк2 () Схеетс ("Пример # 2"). Распон ("А1"). Сорт Кеи1: = Ранге ("А1"), Ордер1: = клАсцендинг, Хеадер: = клИес Енд Суб 

Корак 5: Покрените овај код притиском на Ф5 или Рун дугме и ручно погледајте излаз.

Овде се подаци из примера бр. 2 дате радне књиге Екцела сортирају у узлазном редоследу с обзиром да има заглавље. Што значи да је, поред сортирања ових података, први ред (који садржи Емп име ) занемарен јер се у колони А. сматра заглављем тих података.

Можете сортирати исте податке према редослиједу према алфабету. Све што требате је да промените редослед од узлазног до силазног.

Корак 6: Промените редослед1 у силазни да бисте сортирали податке у силазном редоследу.

Шифра:

 Суб СортЕк2 () Схеетс ("Пример # 2"). Распон ("А1"). Сорт Кеи1: = Ранге ("А1"), Ордер1: = клДесцендинг, Хеадер: = клИес Енд Суб 

Корак 7: Покрените код и погледајте излаз као што је дато у наставку.

Можете видети да су подаци сортирани по силазном редоследу.

Функција сортирања ВБА - пример бр. 3

Разврставање више ступаца са заглављима

До сада смо описали како сортирати податке једног ступца у растућем или силазном редоследу (без заглавља и са заглављем). Шта ако имате податке које требате сортирати на основу више ступаца? Да ли је могуће написати код за исти?

Одговор је: "Да, сигурно се то може учинити!"

Претпоставимо да имате податке као што је наведено у наставку:

Желели сте прво да сортирате ове податке према Емп Наме, а затим према Лоцатион. Слиједите доље наведене кораке да бисте видјели како то можемо кодирати у ВБА.

Корак 1: Дефинишите нови под-поступак за додавање макронаредбе под новим модулом.

Шифра:

 Суб СортЕк3 () Крај Суб 

Корак 2: Употријебите наредбу Витх… Енд Витх да додате више услова сортирања у једну петљу.

Шифра:

 Суб СортЕк3 () са АцтивеСхеет.Сорт Енд Суб 

Корак 3: Сада користите СортФиелдс.Адд да додате више услова сортирања у исти радни лист.

Шифра:

 Суб СортЕк3 () са АцтивеСхеет.Сорт .СортФиелдс.Адд Кеи: = домет ("А1"), Ред: = клАсцендинг .СортФиелдс.Адд Кеи: = Ранге ("Б1"), Ордер: = клАсцендинг Енд Суб 

Корак 4: Одредите распон листа за сортирање и заглавље У следећем кораку.

Шифра:

 Под СортЕк3 () са АцтивеСхеет.Сорт .СортФиелдс.Адд Кеи: = домет ("А1"), Ред: = клАсцендинг .СортФиелдс.Адд Кеи: = Ранге ("Б1"), Ордер: = клАсцендинг .СетРанге Ранге ("А1 : Ц13 ") .Хеадер = клДа Крај Суб 

Корак 5: Користите .Принесите за примену свих ових ствари са изјавом и затворите петљу за писање краја.

Шифра:

 Под СортЕк3 () са АцтивеСхеет.Сорт .СортФиелдс.Адд Кеи: = домет ("А1"), Ред: = клАсцендинг .СортФиелдс.Адд Кеи: = Ранге ("Б1"), Ордер: = клАсцендинг .СетРанге Ранге ("А1 : Ц13 ") .Хеадер = клДа .Приложи крај са крајњим суб 

Корак 6: Покрените овај код притиском на Ф5 или Рун дугме и ручно погледајте излаз.

У овом коду АцтивеСхеетс.Сорт помаже систему да идентификује листу под којом ће се подаци сортирати. СортФиелдс.Адд омогућава додавање два услова сортирања њиховим редоследом (Узлазно у оба случаја). СетРанге омогућава систему да подеси опсег од А1 до Ц13. Можете и да померите овај распон према горе. Примјена изјава омогућава систему да примијени све промјене извршене у Витх петљи.

Коначно, добићете податке који су сортирани на основу Емп Наме, а затим према локацији.

Ствари које треба запамтити

  • Под ВБА разврставањем, уместо референци ћелија можете да креирате именоване распоне и користите их. Нпр. Ако сте креирали именовани распон за ћелију А1: А10 као „ЕмпРанге“, можете је користити под Ранге.Сорт попут Ранге („ЕмпРанге“).
  • Можете сортирати податке у узлазном и поредном редоследу исти као у екцелу.
  • Ако нисте сигурни да ли ваши подаци имају заглавље или не, можете да користите клГуесс у одељку Заглавље да систем нагађа да ли је први ред података заглавље или не.

Препоручени чланци

Ово је водич за Екцел ВБА Сорт. Овдје смо расправљали о ВБА Сортингу и како користити функцију сортирања Екцел ВБА заједно с практичним примјерима и довнлоад-ом Екцел предлошка. Можете и да прођете кроз друге наше предложене чланке -

  1. Кратки водич за Екцел Поредај по броју
  2. Коришћење функције ВБА подударања
  3. Како сортирати колону у Екцелу?
  4. ВБА Док је петља | МС Екцел

Категорија: