Ynhâldsopjefte
Wisten hoe't jo berik sortearje mei VBA yn Excel is tiid- en ynspanningsbesparend yn ús deistige berekkeningen. Hoewol Excel biedt standert in sortearring foarsjenning. Troch de Range.Sort metoade te brûken, krije wy tagong ta ferskate parameters om in dataset te sortearjen mei mear opsjes as gewoanlik.
Download Practice Workbook
Download dit oefenwurkboek om te oefenjen wylst jo dit artikel lêze.
Sortearje Range yn Excel.xlsm
Ynlieding ta de Range.Sort Statement yn Excel VBA
Doel: Om in berik fan selgegevens te sortearjen.
Syntaksis:
ekspresje .Sortearje ( Kaai1 , Oarder1 , Kaai2 , Type , Oarder2 , Key3 , Oarder3 , Header , OarderCustom , MatchCase , Orientation , SortMethod , DataOption1 , DataOption2 , DataOption3 )
Hjir stiet de ekspresje in Range objekt foar, dat wol sizze in sel, in rige, in kolom, of in seleksje fan sellen.
Arguminten:
Wy moatte trije haadparameters leverje foar de Range.Sort metoade. Se binne-
Kaai - It berik fan sellen út inkele of meardere kolommen dy't wy moatte sortearje.
Oarder - Spesifisearje de sortearfolchoarder of op- of ôfnimmend.
Header – Ferklearje oft de te sortearjen kolommen in koptekst hawwe of net.
6 Foarbylden om berik te sortearjen yn Excel VBA
Yndit artikel, as in dataset, wy sille brûke in list fan folken 'nammen mei harren bertedatum en leeftyd. Wy sille ferskate metoaden tapasse om de dataset te sortearjen. Litte wy troch it artikel gean en oefenje om dizze metoaden te behearskjen.
1. Sortearje ien kolomberik mei Excel VBA
Yn dit foarbyld sille wy minsken sortearje fan âldste oant jongste . Litte wy de stappen folgje om it berik te brûken. Sortearje metoade dat de Leeftydkolom yn <1 sortearret >ôfnimmende folchoarder .
Stappen:
- Gean nei de ûntwikkeldersljepper yn it Excel-lint om klikke op de Visual Basic
- Kies dan de Module opsje fan de Ynfoegje ljepper om in nije module te iepenjen.
No sette wy ús koade nei sortearje it kolomberik Leeftyd .
1.1 Kolom mei koptekst
Set de folgjende koade yn de fisuele koade bewurker.
5919
Druk op F5 of klik op de knop Utfiere om de koade út te fieren.
Utlis:
Yn 'e boppesteande koade sette wy-
Expression (Range object) = Range ("D4: D11"); de leeftydkolom mei in kop yn sel D4 en wearden yn D5:D11.
Key = Range(“D4”); de kaai foar sortering.
Order= xlDescending; om't wy wearden sortearje wolle fan grutste nei leechste sette wy de sortearfolchoarder yn as ôfrinnend.
Header =xlYes; Yn it folgjende skermôfbylding kinne wy sjen dat de dataset in hat koptekst foar elk fan de kolommen.
1.2 Kolom sûnder kop
Set de folgjende koade yn de fisuele koade bewurker.
9871
Druk op F5 of klik op de Utfiere knop om de koade út te fieren.
Utlis:
Yn de boppesteande koade sette wy-
Expression (Range object)=Range(“D4) :D10"); de kolom leeftyd sûnder kop hat wearden yn D4:D10.
Kaai = Range("D4"); de kaai foar sortering.
Order= xlDescending; omdat wy wearden sortearje wolle fan grutste nei leechste sette wy de sortearjende folchoarder as ôfnimmend.
Header =xlNo; Yn de folgjende skermôfbylding kinne wy sjen dat de dataset gjin kop hat.
Besibbe ynhâld: Hoe kinne jo kolommen sortearje yn Excel sûnder gegevens te mingjen (3 manieren)
2. VBA-koade brûke om meardere kolomberik yn Excel te sortearjen
Om sortearring yn meardere kolommen te sjen, moatte wy wizigje ús dataset in bytsje. Wy ynfoege in pear nije rige . Yn de wizige dataset hawwe rigen 7, 8, en 9 de deselde wearden foar de bertedatum en leeftyd mar trije ferskillende nammen . Dizze nammen binne net yn in spesifike folchoarder fan op- of ôfnimmend.
Yn dit foarbyld bestelle wy de nammen yn oprinnende folchoarder . Litte wy de folgjende koade útfiere yn 'e fisuele basisbewurker:
5558
Utlis:
Yn it boppesteande skermôfbylding kinne wy sjen dat de leeftiden yn kolom D binne sortearre yn ôfnimmende folchoarder. Wy hawwe noch twa parameters tafoege yn ús foarige koade.
Key2: =Range(“B4”) , de kaai om nammen te sortearjen.
Oarder2: =xlAscending , de folchoarder foar koarte nammen .
As gefolch sjogge wy de nammen yn rige 7, 8 en 9 binne no alfabetisch sortearre yn oprinnend folchoarder.
Yn de folgjende skermôfbylding hawwe wy de feroare. wearde fan de Order2 parameter om de nammen te sortearje yn ôfnimmende folchoarder.
Lês mear: Hoe kinne jo meardere kolommen sortearje yn Excel (5 rappe oanpak)
3. Dûbelklik op 'e koptekst om kolomberik te sortearjen yn Excel VBA
De standert sortearjende funksje fan Excel lit gjin wearden fan in kolom sortearje op dûbelklikje op de kolomkop . Mar mei help fan VBA koade kinne wy meitsje it barre. Litte wy dizze funksjonaliteit yllustrearje troch it tapassen fan de folgjende koade.
8911
Yn dizze koade brûkten wy it BeforeDoubleClick-evenemint om de gewoane dûbele - klik<2 út te skeakeljen> dat is om de bewurkingsmodus fan 'e sel te begjinnen. Mei dit evenemintrint, as wy dûbel - klikke op ien fan de kolomkoppen sortearret it de kolomgegevens yn oprinnende folchoarder .
Lês mear: VBA om kolom te sortearjen yn Excel (4 metoaden)
Silkene lêzingen:
- Hoe kinne jo sortearjeknop tafoegje yn Excel (7 metoaden)
- Unike list sortearje yn Excel (10 nuttige metoaden)
- Hoe om sortearfunksje te brûken yn Excel VBA (8 geskikte foarbylden)
- Duplikaten sortearje yn Excel (kolommen en rigen)
- willekeurich sortearje yn Excel ( Formules + VBA)
4. Kolomberik sortearje basearre op eftergrûnkleur mei Excel VBA
Wy kinne in berik fan sellen sortearje yn in kolom basearre op harren eftergrûnkleur . Om dat te dwaan moatte wy in parameter taheakje mei de namme SortOn dy't in wearde xlSortOnCellColor hat. Om de sortearring te demonstrearjen, sette wy earst ferskillende eftergrûnkleuren yn 'e rigen fan ús dataset .
Dan yn 'e fisuele basis koade bewurker kopiearje de folgjende koade en druk op F5 om it út te fieren.
4262
Yn it folgjende skermôfbylding kinne wy de sortearre dataset basearre sjen op harren eftergrûnkleur.
Utlis:
- Yn dit foarbyld hawwe wy it wurkblêd <2 neamd>" eftergrûn ". Dus, yn 'e koade sette wy " eftergrûn " as ús aktive wurkblêdnamme.
- Wy sette B4 as de kaai en B4:D10 as de berik . De koade sil gegevens sortearje op basis fan de kaai.
- Om't wy de headerparameter net opjûn hawwe, rint de koade foar de standert gjin koptekst.
- Wy sette de parameter oarder as oprinnend, sadat it de gegevens sortearre fan legere nei hegere wearden .
Lês mear: Hoe sortearje op kleur yn Excel (4 kritearia)
5. VBA-koade tapasse om kolomberik te sortearjen op basis fan lettertypekleur
Troch VBA-koade oan te passen, kinne wy ús dataset sortearje op basis fan har lettertypekleur . Earst moatte wy ferskillende rigen kleurje om it foarbyld te yllustrearjen.
Tapasse de koade hjirûnder om de dataset te sortearjen basearre op lettertypekleur.
2187
Utlis:
- Yn dit bygelyks, wy neamden it wurkblêd " lettertypekleur ". Dus, yn 'e koade sette wy " fontcolor " as ús aktive wurkblêdnamme.
- Wy sette B4 as de kaai en B4:D11 as berik . De koade sil gegevens sortearje op basis fan de kaai.
- Yn dit foarbyld hawwe wy de headerparameter ek spesifisearre as xlYes .
- Hjir setten wy de folchoarder yn parameter as oprinnend, dus sortearre it de gegevens fan legere nei hegere wearden .
- De wearde fan de parameter SortOn is
- De oriïntaasjeparameter hâldt de wearde xlTopToBottom om't it ferplicht is.
- Kleur om op te sortearjen is yn RGB-termen dy't hat in weardefan 0 oant 255 .
Lês mear: Hoe kinne jo twa kolommen yn Excel sortearje om te passen (beide krekt en Partial Match)
6. Oriëntaasje feroarje foar sortearberik mei Excel VBA
Mei de parameter oriïntaasje kinne wy de manier feroarje wêrop wy gegevens sortearje wolle. Yn dit foarbyld hawwe wy ús dataset omset om it horizontaal te sortearjen.
Litte wy de folgjende koade yn de fisuele basisbewurker en druk op F5 om it út te fieren.
4745
Hjir hawwe wy sortearre de gegevens basearre op de leeftiidsrige yn oprinnende folchoarder fan lofts nei rjochts . Yn 'e koade sette wy de parameter oriïntaasje as xlSortRows .
Related Content: Hoe kinne jo meardere kolommen automatysk sortearje yn Excel (3 manieren)
Dingen om te ûnthâlden
- De SortOn-parameter dy't wy brûkten om sortearje kolomberik basearre op eftergrûnkleur en lettertypekleur kin allinnich brûkt wurde troch in wurkblêdobjekt . Wy kinne it net brûke mei in berikobjekt .
- It BeforeDoubleClick-evenemint sortearret gegevens allinich yn oprinnend.
Konklúzje
No witte wy hoe't jo berik kinne sortearje mei VBA yn Excel. Hooplik soe it jo oanmoedigje dit mei fertrouwen te brûken. Alle fragen of suggestjes ferjit se net yn it kommentaarfakje hjirûnder te pleatsen.