VBA-lajittelualue | Kuinka lajitella alue Excel VBA: ssa?
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 kanssa 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ä RANGE-objektia VBA: ssa, sitten vain me voimme käyttää VBA: n "Lajittelu" -vaihtoehtoa. Oletetaan esimerkiksi, että data-alueeni on A1: stä D10: een, niin voimme tarjota data-alueen 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-koodauksemme vuoksi, joten tarvitsemme vain muutamia elementtejä.
[Avain1]: Lajiteltavalla data-alueella meidän on määritettävä sarake, joka meidän on lajiteltava. Esimerkiksi A1: D10-tietovälillä, jos haluamme lajitella tiedot sarakkeen B perusteella, [Key1] on Range ("B1") .
[Tilauksesta1]: Mainitut sarake [Key1] argumentti olisi eräänlainen missä järjestyksessä. Voimme valita täältä kaksi vaihtoehtoa: "xlAscending" tai "xlDescending".
Otsikko: Mainitulla 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.
Voit ladata tämän VBA Sort Range Excel -mallin täältä - VBA Sort Range Excel -malliKatso esimerkiksi alla olevaa tietorakennetta.
Meillä on tietoja A1: stä E17: een, joten ensin lajittelemme tiedot "maittain". 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") Loppu alaluokka
Vaihe 3: Valitse nyt Range-objektin Lajittele- menetelmä.
Koodi:
Alalajittelualue_esimerkki () -alue ("A1: E17")
Vaihe 4: Koska lajittelemme tietoja "maakohtaisesti", avaimen 1 argumenttisarakkeeksi tulee 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
Olemme maininneet kaikki elementit, joita tarvitaan tietojen lajittelemiseen. Suorita koodi painamalla F5-toimintoa ja -näppäintä ja katso tulos.
Tuotos:
Tiedot on lajiteltu maiden nimien mukaan järjestyksessä A - Z.
Oletetaan nyt, että meidän on lajiteltava tiedot maakohtaisesti, ja meidän on myös lajiteltava " bruttomyynti " korkeimmasta pienimpään. Tällaisissa tapauksissa meidän on käytettävä myös Key2- ja Order2-argumentteja.
Mainittuamme Key1 & Order1, valitsemme Key2.
Koodi:
Alalajittelualue_esimerkki () Alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), Järjestys1: = xlKorkeus, Avain2: = Loppu
Koska olemme lajittelu tietojen perusteella ” brutto myynti ” sarake meidän avain2 sarakkeen nimi on Range ( ”D1”).
Koodi:
Alalajittelualue_esimerkki () Alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), Järjestys1: = xlKorkeus, Avain2: = Alue ("D1"), Loppuosa
Kun avain2 on määritetty, meidän on päätettävä järjestysmallista siitä, onko kyseessä nouseva järjestys vai laskeva järjestys Order2-argumentissa, koska lajittelemme myynti-arvon suurimmasta pienimpään voimme valita "xlDescending" -järjestyksen.
Koodi:
Alalajittelualue_esimerkki () Alue ("A1: E17"). Lajitteluavain1: = Alue ("B1"), Tilaus1: = xlAscending, Avain2: = Alue ("D1"), Tilaus2: = xlLaskeva, Otsikko: = xlKyllä End Sub
Tämän jälkeen mainitse Header-argumentti nimellä "xYYes". Suorita nyt koodi ja katso mitä tapahtuu.
Tuotos:
Aikaisemmin se on lajiteltu vain "maakohtaisesti", mutta tällä kertaa se on ensin lajiteltu "maakohtaisesti" ja sitten myös "bruttomyynti" korkeimmasta pienimpään.
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".