VBA kārtošanas diapazons - Kā kārtot diapazonu programmā Excel VBA?

Excel VBA kārtošanas diapazons

Diapazona šķirošana VBA tiek veikta pēc range.sort metodes, tā ir diapazona metodes īpašība, ar kuru lietotājs var kārtot diapazonu secībā, šīs funkcijas argumenti ir Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, visi šīs funkcijas argumenti nav obligāti.

Datu organizēšanas vai strukturēšanas ietvaros ir svarīgi datus kārtot un padarīt tos sakārtotus. Līdzīga lieta ir pieejama arī ar VBA, tāpēc bieži sastopams jautājums par jaunajiem VBA apguvējiem ir tas, kā mēs varam izmantot šo kārtošanas iespēju kā daļu no VBA automatizācijas, un šis raksts detalizēti iepazīstina jūs ar VBA kārtošanas diapazonu.

Izmantojot Excel, mēs visi esam iepazinušies ar šķirošanas iespēju, kas pieejama cilnē DATA.

Kārtot opciju VBA

Lai izmantotu opciju Kārtot, vispirms mums jāizlemj, kāds ir mūsu datu diapazons, un jāpiemin tas pats datu diapazons, izmantojot objektu RANGE VBA, tad tikai mēs varam piekļūt VBA opcijai “Kārtot”. Piemēram, pieņemsim, ka mans datu diapazons ir no A1 līdz D10, tad datu diapazonu mēs varam sniegt šādi.

Kods:

Sub Sort_Range_Example () Range ("A1: D10") End Sub

Tagad ielieciet punktu un atlasiet “SORT” metodi.

Kods:

Sub Sort_Range_Example () diapazons ("A1: D10"). Kārtot End Sub

Zemāk ir diapazona SORT metodes sintakse. Lai gan sintaksei ir dažādi argumenti, mums VBA kodēšanai tie visi nav vajadzīgi, tāpēc mums ir nepieciešami tikai daži elementi.

(Atslēga1): Datu diapazonā, kuru mēs kārtojam , mums jānorāda, kura kolonna mums jāšķiro. Piemēram, ja datu diapazonā A1: D10 mēs vēlamies kārtot datus, pamatojoties uz B kolonnu, tad (Key1) būs Range (“B1”) .

(Order1): Minētajai kolonnai argumentā (Key1) vajadzētu būt tādā secībā, kādā secībā. Mēs šeit varam izvēlēties divas iespējas “xlAscending” vai “xlDescending”.

Header: Minētajam datu diapazonam ir vai nav galvenes. Ja jā, mēs varam piegādāt “xlYes” vai arī “xlNo”.

Šķirošanas diapazona piemērs VBA

Ņemsim piemēru no Excel VBA šķirošanas diapazona, lai to labāk izprastu.

Piemēram, apskatiet zemāk esošo datu struktūru.

Mums ir dati no A1 līdz E17, tāpēc vispirms mēs kārtosim datus, pamatojoties uz “Valsts mērogā”. Veiciet tālāk norādītās darbības, lai rakstītu kodu, lai kārtotu datus.

1. darbība: sāciet Excel makro procedūru.

Kods:

Sub Sort_Range_Example () Beigas Sub

2. solis: Vispirms pieminiet datu diapazonu, izmantojot objektu RANGE .

Kods:

Sub Sort_Range_Example () Range ("A1: E17") End Sub

3. solis: Tagad izvēlieties objekta Range metodi “ Kārtot ”.

Kods:

Sub Sort_Range_Example () diapazons ("A1: E17"). Kārtot End Sub

4. solis: Tā kā mēs kārtojam datus, balstoties uz “Valsti”, mūsu 1. atslēgas argumentu kolonna būs Diapazons (“B1”).

Kods:

Sort_Range_Example () diapazons ("A1: E17"). Kārtot 1. atslēgu: = Range ("B1"), beigu apakšs

5. solis: Kad vajadzīgā kolonna ir pieminēta, mums jāpiemin, kādā secībā mums dati jāšķiro, un “Order1” būs “xlAscending” secība.

Kods:

Sub Sort_Range_Example () diapazons ("A1: E17"). Kārtošanas atslēga1: = Range ("B1"), Order1: = xlAscending, End Sub

6. darbība: mūsu datiem ir galvenes, tāpēc galvene būs “xLYes”.

Kods:

Sub Sort_Range_Example () diapazons ("A1: E17"). Kārtošanas atslēga1: = Range ("B1"), Order1: = xlAscending, Header: = xlYes End 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.

Šādi mēs varam izmantot VBA metodi “ Kārtot ”, lai kārtotu datus.

Lietas, kas jāatceras par Excel VBA kārtošanas diapazonu

  • Kārtot ir VBA pieejamā metode, un, lai piekļūtu šai metodei, mums jānorāda, kāds šūnu diapazons tiks kārtots.
  • Ja datu diapazonā ir galvenes, mums jāizvēlas galvenes opcija kā “xlYes”, ja nē, mēs varam izvēlēties “xlNo”.

Interesanti raksti...