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ą.

Su „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 pateikiama diapazono SORT metodo sintaksė, nors sintaksėje yra skirtingų argumentų, mums jų visų nereikia VBA kodavimui, todėl mums reikia tik kelių elementų.

[Key1]: 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į, [Raktas1] bus Diapazonas („B1“) .

[Užsakymas1]: Minėtas argumentas [Raktas1] turėtų būti rūšiuojamas kokia tvarka. Čia galime pasirinkti dvi parinktis „xlAscending“ arba „xlDescending“.

Antraštė: Minėtame duomenų diapazone yra antraštės, ar 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 geriau suprastume tai.

Šį „VBA Sort Range Excel“ šabloną galite atsisiųsti čia - „VBA Sort Range Excel“ šablonas

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

Turime duomenų nuo A1 iki E17, todėl pirmiausia duomenis rūšiuosime remdamiesi „Šalies požiūriu“. 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 raktų argumento stulpelis bus diapazonas („B1“).

Kodas:

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

5 žingsnis: paminėję 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 

Mes paminėjome visus elementus, reikalingus duomenims rūšiuoti. Vykdykite kodą paspausdami F5 funkciją ir klavišą ir pamatysite rezultatą.

Išvestis:

Duomenys buvo rūšiuojami pagal Šalių pavadinimus nuo A iki Z.

Dabar tarkime, kad turime rūšiuoti duomenis pagal šalis, taip pat turime rūšiuoti „ Bendruosius pardavimus “ nuo didžiausio iki mažiausio. Tokiais atvejais turime naudoti ir Key2 ir Order2 argumentus.

Paminėję raktą1 ir užsakymą1, rinkimės raktą2.

Kodas:

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

Duomenis rūšiuojami pagal stulpelį „ Bendrasis pardavimas “, todėl „Key2“ stulpelio pavadinimas bus diapazonas („D1“).

Kodas:

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

Nurodę Key2, turime nuspręsti dėl rūšiavimo modelio, ar tai didėjimo tvarka, ar mažėjimo tvarka Order2 argumente, nes mes rūšiuojame pardavimo vertę nuo didžiausios iki mažiausios, kad galėtume pasirinkti „xlDescending“ užsakymą.

Kodas:

 Sub Sort_Range_Example () Range ("A1: E17"). Rūšiavimo raktas1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), Order2: = xlDescending, Header: = xlYes End Sub 

Po to paminėkite argumentą „Antraštė“ kaip „xYYES“. Dabar paleiskite kodą ir sužinokite, kas atsitiks.

Išvestis:

Anksčiau jis buvo rūšiuojamas tik pagal „šalis“, tačiau šį kartą jis buvo rūšiuojamas pagal „šalies požiūriu“, o paskui ir pagal „bendrąjį pardavimą“ nuo didžiausio iki mažiausio.

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“.

$config[zx-auto] not found$config[zx-overlay] not found