Rozsah řazení VBA - Jak třídit rozsah v aplikaci Excel VBA?

Rozsah řazení Excel VBA

Třídění rozsahu ve VBA se provádí metodou range.sort, jedná se o vlastnost metody range, pomocí které může uživatel řadit rozsah v pořadí, argumenty pro tuto funkci jsou Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, všechny argumenty pro tuto funkci jsou volitelné.

Jako součást organizace dat nebo strukturování dat je důležité data seřadit a zajistit jejich organizaci. Podobná věc je k dispozici také u VBA, takže běžnou otázkou ohledně nových studentů VBA je, jak můžeme využít tuto možnost třídění jako součást automatizace VBA, a tento článek vás podrobně provede řadou VBA Sort.

V aplikaci Excel všichni známe možnost řazení, která je k dispozici na kartě DATA.

Možnost řazení ve VBA

Chcete-li použít možnost řazení, nejprve se musíme rozhodnout, jaký je náš rozsah dat, a zmínit stejný rozsah dat pomocí objektu RANGE ve VBA, pak pouze my můžeme přistupovat k možnosti „Řazení“ ve VBA. Předpokládejme například, že můj rozsah dat je od A1 do D10, pak můžeme rozsah dat poskytnout následujícím způsobem.

Kód:

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

Nyní vložte tečku a vyberte metodu „TŘÍDĚNÍ“.

Kód:

Sub Sort_Range_Example () Range ("A1: D10"). Seřadit End Sub

Níže je uvedena syntaxe metody SORT rozsahu. Ačkoli syntaxe má různé argumenty, nepotřebujeme všechny z nich pro naše kódování VBA, takže potřebujeme jen několik prvků.

(Klíč 1): V datovém rozsahu, který řadíme, musíme určit, který sloupec musíme řadit. Například v datovém rozsahu A1: D10, pokud chceme seřadit data podle sloupce B, pak (Key1) bude Range („B1“) .

(Order1): Uvedený sloupec v argumentu (Key1) by měl být seřazen v jakém pořadí. Zde si můžeme vybrat dvě možnosti „xlAscending“ nebo „xlDescending“.

Záhlaví: Uvedený rozsah dat má záhlaví nebo ne. Pokud ano, můžeme dodat „xlAno“, nebo můžeme dodat „xlNe“.

Příklad rozsahu řazení ve VBA

Vezměme si příklad rozsahu řazení Excel VBA, abychom tomu lépe porozuměli.

Podívejte se například na níže uvedenou datovou strukturu.

Máme data od A1 do E17, takže nejprve je roztřídíme podle „Země“. Podle níže uvedených kroků napíšete kód pro seřazení dat.

Krok 1: Spusťte proceduru makra aplikace Excel.

Kód:

Sub Sort_Range_Example () End Sub

Krok 2: Nejprve uveďte rozsah dat pomocí objektu RANGE .

Kód:

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

Krok 3: Nyní vyberte metodu „ Řazení “ objektu Range.

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Seřadit End Sub

Krok 4: Vzhledem k tomu, že data řadíme na základě „jednotlivých zemí“, bude náš sloupec argumentu Klíč 1 Rozsah („B1“).

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Klíč řazení 1: = Range ("B1"), End Sub

Krok 5: Jakmile je uveden požadovaný sloupec, musíme zmínit, v jakém pořadí musíme data seřadit, a „Order1“ bude „xlAscending“ .

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Klíč řazení1: = Range ("B1"), Order1: = xlAscending, End Sub

Krok 6: Naše data mají záhlaví, takže záhlaví bude „xlAno“.

Kód:

Sub Sort_Range_Example () Range ("A1: E17"). Klíč řazení 1: = Range ("B1"), Order1: = xlAscending, Header: = xlAno 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 k uspořádání dat použít metodu „ Sort “ ve VBA.

Důležité informace o rozsahu řazení Excel VBA

  • Třídění je metoda dostupná ve VBA a pro přístup k této metodě musíme určit, jaký rozsah buněk budeme třídit.
  • Pokud rozsah dat zahrnuje záhlaví, musíme zvolit možnost záhlaví jako „xlYes“, pokud ne, můžeme zvolit „xlNo“.

Zajímavé články...