VBA-lajittelualue - Kuinka lajitella alue Excel VBA: ssa?

Sisällysluettelo

Excel VBA -lajittelualue

Alueen lajittelu VBA: ssa tapahtuu range.sort -menetelmän mukaan, se on aluemenetelmän ominaisuus, jolla käyttäjä voi lajitella alueen järjestyksessä, tämän funktion argumentit ovat Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, kaikki tämän toiminnon argumentit ovat valinnaisia.

Osana tietojen järjestämistä tai tietojen jäsentämistä on tärkeää lajitella ja järjestää tiedot. Samanlainen asia on saatavana myös VBA: n kanssa, joten yleinen kysymys uusista VBA-oppijoista on, kuinka voimme käyttää tällaista vaihtoehtoa osana VBA-automaatiota, ja tämä artikkeli opastaa sinut VBA-lajittelualueen läpi yksityiskohtaisesti.

Excelin avulla me kaikki tunnemme DATA-välilehdessä olevan lajitteluvaihtoehdon.

Lajitteluvaihtoehto VBA: ssa

Lajitteluvaihtoehdon käyttämiseksi meidän on ensin päätettävä, mikä tietoalueemme on, ja mainittava sama tietoalue käyttämällä VAN RANGE-objektia, sitten vain VBA voi käyttää Lajittelu-vaihtoehtoa VBA: ssa. Oletetaan esimerkiksi, että data-alueeni on A1: stä D10: een, voimme sitten antaa tietoalueen seuraavasti.

Koodi:

Alalajittelualue_esimerkki () Alue ("A1: D10") Lopeta alaluokka

Laita nyt piste ja valitse SORT-menetelmä.

Koodi:

Alalajittelu_alueen_esimerkki () -alue ("A1: D10"). Lajittele loppuala

Alla on alueen SORT-menetelmän syntaksi. Vaikka syntaksilla on erilaisia ​​argumentteja, emme tarvitse kaikkia niitä VBA-koodaukseemme, joten tarvitsemme vain muutamia elementtejä.

(Avain1): Meidän on määritettävä lajiteltavalla data-alueella sarake, jonka meidän on lajiteltava. Esimerkiksi A1: D10-tietovälillä, jos haluamme lajitella tiedot sarakkeen B perusteella, (Key1) on Range ("B1") .

(Tilaus1): Mainitun sarakkeen (Key1) -argumentin tulee olla lajiteltu missä järjestyksessä. Voimme valita täältä kaksi vaihtoehtoa: "xlAscending" tai "xlDescending".

Otsikko: Mainitussa data-alueella on otsikot tai ei. Jos kyllä, voimme toimittaa "xlYes" tai muuten "xlNo".

Esimerkki lajittelualueesta VBA: ssa

Otetaan esimerkki Excelin VBA-lajittelulajista, jotta ymmärrämme tämän paremmin.

Katso esimerkiksi alla olevaa tietorakennetta.

Meillä on tietoja A1: stä E17: een, joten ensin lajittelemme tiedot "Maakohtaisesti". Kirjoita koodi tietojen lajittelua varten noudattamalla seuraavia ohjeita.

Vaihe 1: Käynnistä Excel-makro.

Koodi:

Alalajittelu_alueen_esimerkki () Lopeta ala

Vaihe 2: Mainitse ensin data-alue RANGE- objektilla.

Koodi:

Alalajittelualue_esimerkki () Alue ("A1: E17") Lopeta alaluokka

Vaihe 3: Valitse nyt Range-objektin Lajittele- menetelmä.

Koodi:

Alalajittelualue_esimerkki () -alue ("A1: E17")

Vaihe 4: Koska lajittelemme tietoja maittain, avain 1- argumenttisarakkeemme on Range ("B1").

Koodi:

Alalajittelualue_esimerkki () -alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), loppuosa

Vaihe 5: Kun vaadittu sarake on mainittu, meidän on mainittava, missä järjestyksessä meidän on lajiteltava tiedot, ja "Tilaus1" on "xlAscending" -järjestys.

Koodi:

Alalajittelualue_esimerkki () Alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), Järjestys1: = xlKorkea, Loppu

Vaihe 6: Tietoissamme on otsikot, joten otsikko on "xLYes".

Koodi:

Alalajittelualue_esimerkki () Alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), Järjestys1: = xlAscending, Otsikko: = xlKyllä 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.

Tällä tavoin voimme käyttää tietojen järjestämiseen VBA: n " Lajittelutapa " -menetelmää.

Muistettavaa Excel VBA -lajittelualueesta

  • Lajittelu on VBA: ssa käytettävissä oleva menetelmä, ja tämän menetelmän käyttämiseksi meidän on määritettävä, minkä solualueen aiomme lajitella.
  • Jos data-alue sisältää otsikot, meidän on valittava otsikkovaihtoehto "xlYes". Jos ei, voimme valita "xlNo".

Mielenkiintoisia artikkeleita...