Raspon sortiranja VBA - Kako sortirati raspon u programu Excel VBA?

Raspon sortiranja u programu Excel VBA

Sortiranje raspona u VBA vrši se metodom range.sort, svojstvo je metode range s kojim korisnik može sortirati raspon redom, argumenti za ovu funkciju su Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, svi argumenti za ovu funkciju nisu obavezni.

Kao dio organiziranja podataka ili strukturiranja podataka, važno je sortirati podatke i učiniti ih organiziranima. Slična je stvar dostupna i s VBA-om, pa je često pitanje o novim učenicima VBA-a kako možemo iskoristiti ovu mogućnost sortiranja kao dio VBA-automatizacije, a ovaj članak detaljno vas vodi kroz raspon VBA-sortiranja.

S Excelom smo svi upoznati s opcijom sortiranja koja je dostupna na kartici DATA.

Opcija sortiranja u VBA

Da bismo koristili opciju sortiranja, prvo moramo odlučiti koji je naš raspon podataka i spomenuti isti raspon podataka pomoću objekta RANGE u VBA, a tada samo mi možemo pristupiti opciji “Sort” u VBA. Na primjer, pretpostavimo da je moj raspon podataka od A1 do D10, tada možemo pružiti raspon podataka kako slijedi.

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: D10") Kraj Sub

Sada stavite točku i odaberite metodu "SORT".

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: D10"). Poredaj Kraj Sub

Ispod je sintaksa SORT metode raspona. Iako sintaksa ima različite argumente, ne trebaju nam svi za naše VBA kodiranje, tako da nam treba samo nekoliko elemenata.

(Tipka1): U rasponu podataka koji sortiramo moramo odrediti koji stupac moramo sortirati. Primjerice, u rasponu podataka A1: D10, ako želimo sortirati podatke na temelju stupca B, tada će (Key1) biti Raspon (“B1”) .

(Order1): Spomenuti stupac u argumentu (Key1) treba sortirati kojim redoslijedom. Ovdje možemo odabrati dvije mogućnosti "xlAscending" ili "xlDescending".

Zaglavlje: Spomenuti raspon podataka ima zaglavlja ili ne. Ako je odgovor da, možemo dostaviti "xlYes" ili "xlNo."

Primjer raspona sortiranja u VBA

Uzmimo primjer excel VBA raspona sortiranja kako bismo to bolje razumjeli.

Na primjer, pogledajte donju strukturu podataka.

Imamo podatke od A1 do E17, pa ćemo prvo sortirati podatke na temelju "Po zemlji". Slijedite korake u nastavku za pisanje koda za sortiranje podataka.

Korak 1: Pokrenite excel makro postupak.

Kodirati:

Sub Sort_Range_Example () Kraj Sub

Korak 2: Prvo spomenite raspon podataka pomoću objekta RANGE .

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: E17") Kraj Sub

Korak 3: Sada odaberite metodu " Sort " objekta Range.

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: E17"). Poredaj Kraj Sub

Korak 4: Budući da podatke sortiramo na temelju "Zemlje", naš će stupac argumenta Ključ 1 biti Raspon ("B1").

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: E17"). Tipka za sortiranje1: = Raspon ("B1"), Kraj Sub

Korak 5: Jednom kad se spomene traženi stupac, moramo spomenuti kojim redoslijedom trebamo sortirati podatke, a "Order1" će biti "xlAscending" redoslijed.

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: E17"). Tipka za sortiranje1: = Raspon ("B1"), Redoslijed1: = xlAscending, Kraj Sub

Korak 6: Naši podaci imaju zaglavlja, pa će zaglavlje biti "xlYes".

Kodirati:

Sub Sort_Range_Example () Raspon ("A1: E17"). Tipka za sortiranje1: = Raspon ("B1"), Narudžba1: = xlAscending, Zaglavlje: = xlDa Završi Sub

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.

Kao što je ovo, u VBA možemo koristiti metodu " Sort " za organiziranje podataka.

Stvari koje treba zapamtiti o rasponu sortiranja programa Excel VBA

  • Sortiranje je metoda dostupna u VBA-u, a da bismo pristupili toj metodi, moramo odrediti koliki će raspon stanica sortirati.
  • Ako raspon podataka uključuje zaglavlja, tada moramo odabrati opciju zaglavlja kao "xlYes", ako ne, možemo odabrati "xlNo."

Zanimljivi članci...