VBA rūšiavimo diapazonas - Kaip rūšiuoti diapazoną „Excel VBA“?

„Excel VBA“ rūšiavimo diapazonas

Rūšiuoti diapazoną VBA atliekamas pagal range.sort metodą, tai yra diapazono metodo ypatybė, kuria vartotojas gali rūšiuoti diapazoną eilės tvarka, šios funkcijos argumentai yra Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, visi šios funkcijos argumentai yra neprivalomi.

Duomenų organizavimo ar struktūrizavimo metu svarbu rūšiuoti duomenis ir juos sutvarkyti. Panašus dalykas yra ir su VBA, todėl dažnas klausimas apie naujus VBA besimokančius yra tai, kaip mes galime naudoti šią rūšiavimo parinktį kaip VBA automatikos dalį, ir šis straipsnis išsamiai nurodo VBA rūšiavimo asortimentą.

Naudodamiesi „Excel“, visi esame susipažinę su rūšiavimo galimybe, esančia skirtuke DUOMENYS.

Rūšiuoti variantą VBA

Norėdami naudoti rūšiavimo parinktį, pirmiausia turime nuspręsti, koks yra mūsų duomenų diapazonas, ir paminėti tą patį duomenų diapazoną naudojant objektą RANGE VBA, tada tik mes galime pasiekti VBA parinktį „Rūšiuoti“. Pavyzdžiui, tarkime, kad mano duomenų diapazonas yra nuo A1 iki D10, tada duomenų diapazoną galime pateikti taip.

Kodas:

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

Dabar įdėkite tašką ir pasirinkite „RŪŠIUOTI“ metodą.

Kodas:

Sub Sort_Range_Example () Range ("A1: D10"). Rūšiuoti End Sub

Žemiau yra diapazono SORT metodo sintaksė. Nors sintaksėje yra skirtingų argumentų, mums jų visų nereikia VBA kodavimui, todėl mums reikia tik kelių elementų.

(1 raktas): Duomenų diapazone, kurį rūšiuojame, turime nurodyti, kurį stulpelį turime rūšiuoti. Pavyzdžiui, duomenų diapazone A1: D10, jei norime rūšiuoti duomenis pagal B stulpelį, tada (Key1) bus diapazonas („B1“) .

(Order1): Minėtas argumentas (Key1) turi būti rūšiuojamas kokia tvarka. Čia galime pasirinkti dvi parinktis „xlAscending“ arba „xlDescending“.

Antraštė: Minėtame duomenų diapazone yra antraštės arba ne. Jei taip, mes galime pateikti „xlYes“ arba kitu atveju galime pateikti „xlNo“.

Rūšiuoti diapazoną VBA pavyzdys

Paimkime „Excel VBA“ rūšiavimo diapazono pavyzdį, kad tai geriau suprastume.

Pvz., Pažvelkite į toliau pateiktą duomenų struktūrą.

Turime duomenų nuo A1 iki E17, todėl pirmiausia surūšiuosime duomenis pagal šalį. Atlikite toliau nurodytus veiksmus, kad parašytumėte kodą ir surūšiuotumėte duomenis.

1 žingsnis: Pradėkite „Excel“ makrokomandą.

Kodas:

Sub Sort_Range_Example () Pabaiga Sub

2 žingsnis: Pirmiausia paminėkite duomenų diapazoną naudodami objektą RANGE .

Kodas:

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

3 žingsnis: Dabar pasirinkite „ Rūšiuoti “ objekto „Range“ metodą.

Kodas:

Sub Sort_Range_Example () Range ("A1: E17"). Rūšiuoti End Sub

4 žingsnis: Kadangi mes rūšiuojame duomenis pagal „šalis“, mūsų 1 rakto argumento stulpelis bus diapazonas („B1“).

Kodas:

Sub Sort_Range_Example () Range ("A1: E17"). Rūšiavimo raktas1: = Range ("B1"), End Sub

5 žingsnis: Paminėdami reikiamą stulpelį, turime paminėti, kokia tvarka turime rūšiuoti duomenis, o „Order1“ bus „xlAscending“ tvarka.

Kodas:

Sub Sort_Range_Example () Range ("A1: E17"). Rūšiavimo raktas1: = Range ("B1"), Order1: = xlAscending, End Sub

6 žingsnis: mūsų duomenys turi antraštes, todėl antraštė bus „xYYES“.

Kodas:

Sub Sort_Range_Example () Range ("A1: E17"). Rūšiavimo raktas1: = 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.

Taip tvarkydami duomenis, mes galime naudoti „ Rūšiuoti “ metodą VBA.

Ką reikia atsiminti apie „Excel VBA“ rūšiavimo diapazoną

  • Rūšiuoti yra metodas, prieinamas VBA, ir norėdami pasiekti šį metodą, turime nurodyti, kokį langelių diapazoną mes rūšiuosime.
  • Jei duomenų diapazone yra antraštės, turime pasirinkti antraštės parinktį kaip „xlYes“, jei ne, galime pasirinkti „xlNo“.

Įdomios straipsniai...