Rozsah triedenia VBA Ako zoradiť rozsah v programe Excel VBA?

Rozsah triedenia Excel VBA

Triedenie rozsahu vo VBA sa vykonáva metódou range.sort, je to vlastnosť metódy range, pomocou ktorej môže užívateľ triediť rozsah v poradí, argumenty pre túto funkciu sú Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, všetky argumenty pre túto funkciu sú voliteľné.

V rámci organizovania alebo štruktúrovania údajov je dôležité dáta triediť a organizovať. Podobná vec je k dispozícii aj vo VBA, takže častou otázkou o nových študujúcich VBA je, ako môžeme využiť túto možnosť triedenia ako súčasť automatizácie VBA, a tento článok vás podrobne prevedie radom VBA.

S programom Excel všetci poznáme možnosť zoradenia, ktorá je k dispozícii na karte ÚDAJE.

Možnosť triedenia vo VBA

Ak chcete použiť možnosť zoradenia, najskôr sa musíme rozhodnúť, aký je náš rozsah údajov, a spomenúť rovnaký rozsah údajov pomocou objektu RANGE vo VBA, potom iba my môžeme pristupovať k možnosti „Zoradiť“ vo VBA. Predpokladajme napríklad, že môj rozsah údajov je od A1 do D10, potom môžeme rozsah údajov poskytnúť nasledujúcim spôsobom.

Kód:

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

Teraz vložte bodku a vyberte metódu „Triedenie“.

Kód:

Sub Sort_Range_Example () Range ("A1: D10"). Sort Sub Sub

Nižšie je uvedená syntax metódy SORT z rozsahu. Aj keď má syntax rôzne argumenty, nepotrebujeme všetky z nich na svoje kódovanie VBA, takže potrebujeme iba niekoľko prvkov.

(Kľúč 1): V rozsahu údajov, ktorý triedime, musíme určiť, ktorý stĺpec musíme triediť. Napríklad v dátovom rozsahu A1: D10, ak chceme triediť údaje na základe stĺpca B, potom (Key1) bude Range („B1“) .

(Poradie1): Uvedený stĺpec v argumente (Kľúč1) by mal byť usporiadaný v akom poradí. Tu môžeme zvoliť dve možnosti „xlAscending“ alebo „xlDescending“.

Hlavička: Uvedený rozsah údajov má alebo nemá hlavičky. Ak áno, môžeme dodať „xlAno“ alebo inak môžeme dodať „xlNo“.

Príklad rozsahu triedenia vo VBA

Zoberme si príklad rozsahu triedenia VBA programu Excel, aby sme tomu lepšie porozumeli.

Napríklad si pozrite nasledujúcu dátovú štruktúru.

Máme údaje od A1 do E17, takže najskôr ich roztriedime podľa krajín. Podľa nasledujúcich pokynov napíšete kód na zoradenie údajov.

Krok 1: Spustite postup makra programu Excel.

Kód:

Sub Sort_Range_Example () End Sub

Krok 2: Najskôr uveďte rozsah údajov pomocou objektu RANGE .

Kód:

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

Krok 3: Teraz zvoľte metódu „ Sort “ objektu Range.

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Sub Sub

Krok 4: Pretože údaje triedime na základe údajov podľa krajiny, náš stĺpec s kľúčom 1 bude Range („B1“).

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Key Sort1: = Range ("B1"), End Sub

Krok 5: Po zadaní požadovaného stĺpca musíme spomenúť, v akom poradí je potrebné údaje zoradiť, a príkaz „Order1“ bude označený ako „xlAscending“ .

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Key Sort1: = Range ("B1"), Order1: = xlAscending, End Sub

Krok 6: Naše údaje majú hlavičky, takže hlavička bude „xlÁno.“

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Key Sort 1: = 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.

Takto môžeme na usporiadanie údajov použiť metódu „ Sort “ vo VBA.

Na čo by ste mali pamätať, o rozsahu triedenia Excel VBA

  • Zoradenie je metóda dostupná vo VBA a na prístup k tejto metóde je potrebné určiť, aký rozsah buniek budeme triediť.
  • Ak rozsah údajov obsahuje hlavičky, musíme zvoliť možnosť hlavičky ako „xlAno“, ak nie, môžeme zvoliť „xlNo“.

Zaujímavé články...