Razpon razvrščanja VBA - Kako razvrstiti obseg v Excelu VBA?

Razpon razvrščanja v programu Excel VBA

Razvrščanje obsega v VBA poteka z metodo range.sort, je lastnost metode obsega, s katero lahko uporabnik razvrsti obseg po vrstnem redu, argumenti za to funkcijo so Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, vsi argumenti za to funkcijo niso obvezni.

Kot del organiziranja ali strukturiranja podatkov je pomembno, da podatke razvrstite in jih organizirate. Podobno je na voljo tudi pri VBA, zato je pogosto vprašanje o novih učencih VBA, kako lahko uporabimo to možnost razvrščanja kot del avtomatizacije VBA, ta članek pa vas podrobno vodi skozi razvrstitev VBA.

Z Excelom smo vsi seznanjeni z možnostjo razvrščanja, ki je na voljo na zavihku DATA.

Razvrsti možnost v VBA

Če želite uporabiti možnost razvrščanja, se moramo najprej odločiti, kakšen je naš obseg podatkov, in omeniti isti obseg podatkov z uporabo predmeta RANGE v VBA, nato pa lahko samo dostop do možnosti »Razvrsti« v VBA. Na primer, predpostavimo, da je moj obseg podatkov od A1 do D10, potem lahko zagotovimo obseg podatkov, kot sledi.

Koda:

Sub Sort_Range_Example () Obseg ("A1: D10") Konec Sub

Zdaj postavite piko in izberite metodo »SORT«.

Koda:

Sub Sort_Range_Example () Obseg ("A1: D10"). Razvrsti Konec Sub

Spodaj je sintaksa metode SORT za obseg. Čeprav ima sintaksa različne argumente, jih za kodiranje VBA ne potrebujemo vseh, zato potrebujemo le nekaj elementov.

(Tipka 1): V obsegu podatkov, ki ga razvrščamo, moramo določiti, kateri stolpec moramo razvrstiti. Na primer, v podatkih segajo od A1: D10, če želimo razvrstiti podatke, ki temeljijo na stolpec B, potem (kljuc1) bo območje ( "B1") .

(Order1): Omenjeni stolpec v argumentu (Key1) mora biti razvrščen po vrstnem redu. Tu lahko izberemo dve možnosti "xlAscending" ali "xlDescending."

Glava: Omenjeni obseg podatkov ima glave ali ne. Če je odgovor pritrdilen, lahko dobimo "xlYes" ali pa "xlNo."

Primer obsega razvrščanja v VBA

Vzemimo za primer razpon vrst razvrščanja VBA, da to bolje razumemo.

Na primer, poglejte spodnjo strukturo podatkov.

Podatke imamo od A1 do E17, zato bomo najprej razvrstili podatke glede na "Država". Za pisanje kode za razvrščanje podatkov sledite spodnjim korakom.

1. korak: Zaženite postopek makra excel.

Koda:

Sub Sort_Range_Example () Konec Sub

2. korak: Najprej omenite obseg podatkov z uporabo predmeta RANGE .

Koda:

Sub Sort_Range_Example () Obseg ("A1: E17") Konec Sub

3. korak: Zdaj izberite metodo » Razvrsti « predmeta Range.

Koda:

Sub Sort_Range_Example () Obseg ("A1: E17"). Razvrsti Konec Sub

Korak 4: Ker podatke razvrščamo na podlagi »Država po svetu«, bo naš stolpec argumenta Key 1 obseg (»B1«).

Koda:

Sub Sort_Range_Example () Obseg ("A1: E17"). Tipka za razvrščanje1: = Obseg ("B1"), Konec Sub

5. korak: Ko je omenjen zahtevani stolpec, moramo omeniti, v kakšnem vrstnem redu moramo razvrščati podatke, in “Order1” bo v vrstnem redu “xlAscending” .

Koda:

Sub Sort_Range_Example () obseg ("A1: E17"). Tipka za razvrščanje1: = obseg ("B1"), vrstni red1: = xlnaraščajoče, konec sub

6. korak: Naši podatki imajo glave, zato bo Glava »xl DA«.

Koda:

Sub Sort_Range_Example () Obseg ("A1: E17"). Tipka za razvrščanje1: = obseg ("B1"), vrstni red1: = xlnaraščajoče, glava: = xlDa Konec 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.

Tako lahko za organiziranje podatkov uporabimo metodo » Razvrsti « v VBA.

Stvari, ki si jih je treba zapomniti pri obsegu razvrščanja Excel VBA

  • Razvrščanje je metoda, ki je na voljo v VBA, in za dostop do te metode moramo določiti, kakšen obseg celic bomo razvrstili.
  • Če obseg podatkov vključuje glave, moramo izbrati možnost glave kot »xl DA«, v nasprotnem primeru lahko izberemo »xlNo«.

Zanimive Članki...