Распон сортирања ВБА - Како сортирати опсег у програму Екцел ВБА?

Преглед садржаја

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

Сортирање опсега у ВБА врши се методом ранге.сорт, својство је методе ранге помоћу које корисник може сортирати опсег редом, аргументи за ову функцију су Кеи1, Ордер1, Кеи2, Типе, Ордер2, Кеи3 , Ордер3, Хеадер, ОрдерЦустом, МатцхЦасе, Ориентатион, СортМетход, ДатаОптион1, ДатаОптион2, ДатаОптион3, сви аргументи за ову функцију нису обавезни.

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

Уз екцел, сви смо упознати са опцијом сортирања која је доступна на картици ДАТА.

Опција сортирања у ВБА

Да бисмо користили опцију сортирања, прво морамо да одлучимо који је наш опсег података и да наведемо исти опсег података помоћу објекта РАНГЕ у ВБА, а онда само ми можемо да приступимо опцији „Сорт“ у ВБА. На пример, претпоставимо да је мој опсег података од А1 до Д10, тада можемо пружити опсег података на следећи начин.

Шифра:

Суб Сорт_Ранге_Екампле () Опсег ("А1: Д10") Крај Суб

Сада ставите тачку и изаберите метод „СОРТ“.

Шифра:

Суб Сорт_Ранге_Екампле () опсег ("А1: Д10"). Сортирање Крај Суб

Испод је синтакса СОРТ методе опсега. Иако синтакса има различите аргументе, нису нам потребни сви за наше ВБА кодирање, тако да нам треба само неколико елемената.

(Тастер1): У опсегу података који сортирамо морамо да одредимо коју колону треба да сортирамо. На пример, у опсегу података А1: Д10, ако желимо сортирати податке на основу колоне Б, тада ће (Кеи1) бити опсег („Б1“) .

(Ордер1): Поменута колона у аргументу (Кеи1) треба сортирати којим редоследом. Овде можемо одабрати две опције „клАсцендинг“ или „клДесцендинг“.

Заглавље: Поменути опсег података има заглавља или не. Ако је одговор да, можемо доставити „клИес“ или у супротном „клНо.“

Пример опсега сортирања у ВБА

Узмимо пример екцел распона сортирања ВБА да бисмо ово боље разумели.

На пример, погледајте доњу структуру података.

Имамо податке од А1 до Е17, па ћемо прво сортирати податке на основу „Земља“. Следите кораке у наставку да бисте написали код за сортирање података.

Корак 1: Покрените екцел макро процедуру.

Шифра:

Суб Сорт_Ранге_Екампле () Крај Суб

Корак 2: Прво спомените опсег података помоћу објекта РАНГЕ .

Шифра:

Суб Сорт_Ранге_Екампле () Опсег ("А1: Е17") Крај Суб

Корак 3: Сада одаберите методу „ Сорт “ објекта Ранге.

Шифра:

Суб Сорт_Ранге_Екампле () опсег ("А1: Е17"). Сортирај крај Суб

Корак 4: Будући да податке сортирамо на основу „Земље“, наша колона аргумента Кеи 1 биће Распон („Б1“).

Шифра:

Суб Сорт_Ранге_Екампле () опсег ("А1: Е17"). Кључ за сортирање1: = опсег ("Б1"), крај суб

Корак 5: Једном када се спомене тражени ступац, морамо напоменути којим редоследом треба да сортирамо податке, а „Ордер1“ ће бити „клАсцендинг“ редослед.

Шифра:

Суб Сорт_Ранге_Екампле () опсег ("А1: Е17"). Кључ за сортирање1: = опсег ("Б1"), редослед1: = клАсцендинг, Крај Суб

Корак 6: Наши подаци имају заглавља, па ће заглавље бити „клИес“.

Шифра:

Суб Сорт_Ранге_Екампле () опсег ("А1: Е17"). Кључ за сортирање1: = опсег ("Б1"), редослед1: = клАсцендинг, заглавље: = клДа Заврши Суб

We have mentioned all the elements which are required to sort the data. Execute the code by pressing the F5 function and key and see the result.

Output:

Data has been sorted based on Country names in the order of A to Z.

Now assume we need to sort the data based on Country-wise also we need to sort the “Gross Sales” from highest to lowest. In such cases, we need to make use of Key2 and Order2 arguments as well.

After mentioning Key1 & Order1, let’s choose Key2.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:= End Sub

Since we are sorting the data based on the “Gross Sales” column, our Key2 column name will be Range(“D1”).

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:=Range("D1"), End Sub

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("D1"), Order2:=xlDescending, Header:=xlYes End Sub

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

Овако, за организовање података можемо да користимо методу „ Сортирај “ у ВБА.

Ствари које треба запамтити о опсегу сортирања у програму Екцел ВБА

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

Занимљиви Чланци...