Efnisyfirlit
Að vita hvernig á að flokka svið með VBA í Excel sparar tíma og fyrirhöfn í daglegum útreikningum okkar. Þó að Excel veiti sjálfgefið flokkunaraðstöðu. Með því að nota Range.Sort aðferðina fáum við aðgang að nokkrum breytum til að raða gagnasafni með fleiri valmöguleikum en venjulega.
Hlaða niður æfingarvinnubók
Sæktu þessa æfingabók til að æfa á meðan þú ert að lesa þessa grein.
Raða svið í Excel.xlsm
Kynning á Range.Sort yfirlýsingunni í Excel VBA
Markmið : Að raða svið af gagnagrunni.
Syntax:
tjáning .Raða ( Lykill1 , Röð1 , Lykill2 , Tegund , Order2 , Key3 , Order3 , Header , OrderCustom , MatchCase , Orientation , SortMethod , DataOption1 , DataOption2 , DataOption3 )
Hér táknar tjáningin Range hlut, þ.e. hólf, línu, dálk eða val af hólfum.
Rök:
Við þurfum að gefa upp þrjár aðalfæribreytur fyrir Range.Sort aðferðina. Þær eru-
Lykill – Svið frumna úr stökum eða mörgum dálkum sem við þurfum að raða.
Röð – Tilgreindu flokkunarröðina annað hvort hækkandi eða lækkandi.
Header – Lýstu því hvort dálkarnir sem á að flokka séu með haus eða ekki.
6 dæmi til að flokka svið í Excel VBA
Íþessi grein, sem gagnasafn, munum við nota lista yfir nöfn fólks með fæðingardegi og aldri. Við munum beita mismunandi aðferðum til að flokka gagnasafnið. Við skulum fara í gegnum greinina og æfa okkur til að ná tökum á þessum aðferðum.
1. Raða eins dálkasvið með því að nota Excel VBA
Í þessu dæmi munum við raða fólki frá elsta til yngsta . Við skulum fylgja skrefunum til að nota Range . Raða aðferðina sem mun raða Aldursdálknum í lækkandi röð .
Skref:
- Farðu á Developer flipann í Excel borði til að smella á Visual Basic
- Veldu síðan Module valmöguleikann frá Insert flipanum til að opna nýja einingu .
Nú setjum við kóðann okkar í raða Aldur dálksviðinu.
1.1 Dálkur með haus
Settu eftirfarandi kóða í ritstjóra sjónkóða.
5738
Ýttu á F5 eða smelltu á Run hnappinn til að keyra kóðann.
Skýring:
Í kóðanum hér að ofan setjum við-
Expression (Range object)=Range(“D4:D11”); aldursdálkurinn með haus í hólfi D4 og gildum í D5:D11.
Key = Range(“D4”); lykillinn fyrir flokkun.
Order= xlDescending; eins og við viljum raða gildum frá stærsta í lægsta setjum við röðunarröðina sem lækkandi.
Header =xlYes; Í eftirfarandi skjáskoti getum við séð að gagnasafnið er með haus fyrir hvern dálka.
1.2 dálkur án haus
Settu eftirfarandi kóða í sjónræna kóðaritlinum.
7712
Ýttu á F5 eða smelltu á Run hnappinn til að keyra kóðann.
Skýring:
Í kóðanum hér að ofan setjum við-
Tjáning (Range object)=Range(“D4 :D10“); aldursdálkurinn án hauss hefur gildi í D4:D10.
Lykill = Range(“D4”); lykillinn fyrir flokkun.
Order= xlDescending; eins og við viljum raða gildum frá stærsta í lægsta við setjum röðunarröðina sem lækkandi.
Header =xlNo; Í eftirfarandi skjámynd getum við séð að gagnasafnið er ekki með haus.
Tengt efni: Hvernig á að raða dálkum í Excel án þess að blanda gögnum (3 leiðir)
2. Notkun VBA kóða til að raða mörgum dálkum í Excel
Til að sýna flokkun í mörgum dálkum þurfum við að breyta okkar gagnasett svolítið. Við settum inn nokkrar nýjar raðir . Í breyttu gagnasafninu hafa línur 7, 8, og 9 sömu gildin fyrir fæðingardaginn og aldurinn en þrjú mismunandi nöfn . Þessi nöfn eru ekki í neinni sértækri röð hækkandi eða lækkandi.
Í þessu dæmi raðum við nöfnunum í hækkandi röð . Við skulum keyra eftirfarandi kóða í Visual Basic ritlinum:
6770
Skýring:
Í ofangreindu skjáskot, getum við séð að aldurshóparnir í dálki D eru raðaðir í lækkandi röð. Við bættum tveimur breytum til viðbótar í fyrri kóðanum okkar.
Key2: =Range(“B4”) , lykillinn til að flokka nöfn.
Order2: =xlAscending , röð fyrir stutt nöfn .
Þar af leiðandi sjáum við nöfnin í línur 7, 8 og 9 eru nú í stafrófsröð raðaðar í hækkandi röð.
Í eftirfarandi skjámynd breyttum við gildi í Order2 færibreytunni til að raða nöfnunum í lækkandi röð.
Lesa meira: Hvernig á að raða mörgum dálkum í Excel (5 skjótar aðferðir)
3. Tvísmelltu á hausinn til að raða dálkasviði í Excel VBA
Sjálfgefin flokkunareiginleiki Excel leyfir ekki að raða gildum dálks eftir tvísmella á dálkhausinn . En með því að nota VBA kóða getum við látið það gerast. Við skulum útskýra þessa virkni með því að nota eftirfarandi kóða.
9087
Í þessum kóða notuðum við BeforeDoubleClick viðburðinn til að slökkva á venjulegum tvöfalda – smelli sem er að ræsa breytinga ham reitsins. Með þessum atburðií gangi, ef við tvísmellum – smellum á einhvern dálkahausa raðar það dálkgögnunum í hækkandi röð .
Lesa meira: VBA til að raða dálki í Excel (4 aðferðir)
Svipuð lesning:
- Hvernig á að bæta við flokkunarhnappi í Excel (7 aðferðir)
- Raða einstökum lista í Excel (10 gagnlegar aðferðir)
- Hvernig til að nota flokkunaraðgerð í Excel VBA (8 viðeigandi dæmi)
- Raða afrit í Excel (dálkar og raðir)
- Röðun af handahófi í Excel ( Formúlur + VBA)
4. Raða dálkasvið byggt á bakgrunnsliti með því að nota Excel VBA
Við getum flokkað fjölda hólfa í dálki miðað eftir bakgrunnslit þeirra . Til að gera það þurfum við að bæta við færibreytu sem heitir SortOn sem hefur gildið xlSortOnCellColor . Til að sýna flokkunina settum við fyrst mismunandi bakgrunnsliti á línurnar í gagnasettinu okkar .
Síðan í sjónræna grunninum kóða ritstjóri afritaðu eftirfarandi kóða og ýttu á F5 til að keyra hann.
6223
Í eftirfarandi skjámynd getum við séð raðað gagnasafn sem byggt er á á bakgrunnslit þeirra.
Skýring:
- Í þessu dæmi kölluðum við vinnublaðið “ bakgrunnur “. Þannig að í kóðanum setjum við " bakgrunn " sem virka vinnublaðsheitið okkar.
- Við setjum B4 sem lykilinn. og B4:D10 sem svið . Kóðinn mun flokka gögn út frá lyklinum.
- Þar sem við tilgreindum ekki hausbreytu , keyrir kóðinn fyrir sjálfgefna enginn haus.
- Við stilltum færibreytuna röð sem hækkandi, svo hún flokkaði gögnin frá lægri til hærri gildum .
Lesa meira: Hvernig á að raða eftir lit í Excel (4 skilyrði)
5. Beita VBA kóða til að flokka dálkasvið byggt á leturliti
Með því að nota VBA kóða getum við flokkað gagnasafn okkar út frá leturliti þeirra . Fyrst þurfum við að lita mismunandi raðir til að sýna dæmið.
Beita kóðanum hér að neðan til að flokka gagnasafnið út frá leturlitum.
2785
Skýring:
- Í þessu dæmi, við nefndum vinnublaðið “ leturlitur “. Svo, í kóðanum setjum við " fontcolor " sem virka vinnublaðsheitið okkar.
- Við setjum B4 sem lykilinn. og B4:D11 sem svið . Kóðinn mun raða gögnum út frá lyklinum.
- Í þessu dæmi tilgreindum við einnig hausbreytu sem xlYes .
- Hér setjum við röðina færibreytan sem hækkandi, svo það flokkaði gögnin frá lægri til hærri gildum .
- Gildi SortOn færibreytunnar er
- orientation færibreytan heldur gildinu xlTopToBottom þar sem það er skylda.
- Litur til að raða eftir er í RGB skilmálum sem hefur gildifrá 0 í 255 .
Lesa meira: Hvernig á að raða tveimur dálkum í Excel til að passa saman (báðir nákvæmlega og Partial Match)
6. Breyta stefnu til að raða svið með því að nota Excel VBA
Með því að nota stillingu breytu, getum við breytt því hvernig við viljum flokka gögn. Í þessu dæmi höfum við innfært gagnasettið okkar til að raða það lárétt .
Setjum eftirfarandi kóða í Visual Basic ritlinum og ýttu á F5 til að keyra hann.
9897
Hér flokkuðum við gögnin út frá aldurslínunni í hækkandi röð frá vinstri til hægri . Í kóðanum stillum við orientation breytu sem xlSortRows .
Tengt efni: Hvernig á að raða mörgum dálkum sjálfkrafa í Excel (3 leiðir)
Hlutur til að muna
- SortOn færibreytan sem við notuðum til að raða dálkasvið byggt á bakgrunnslit og leturlit er aðeins hægt að nota fyrir vinnublaðshlut . Við getum ekki notað það með sviðshlut .
- BeforeDoubleClick viðburðurinn raðar gögnum aðeins í stigandi.
Niðurstaða
Nú vitum við hvernig á að flokka svið með VBA í Excel. Vonandi myndi það hvetja þig til að nota þetta meira sjálfstraust. Allar spurningar eða tillögur ekki gleyma að setja þær í athugasemdareitinn hér að neðan.