Duomenų rūšiavimas „Excel VBA“

Duomenų rūšiavimas „Excel VBA“

„Excel“ turi puikias priemones rūšiuoti įvairius lentelės duomenis naudojant juostelę „Excel“ priekinėje pusėje, ir tam tikru momentu tikriausiai norėsite naudoti šią funkciją savo VBA kode. Laimei, tai padaryti labai paprasta.

Priekinės dalies dialogo langas randamas spustelėjus „Rūšiuoti“ piktogramą „Rūšiuoti ir filtruoti“ skirtuko „Duomenys“ skirtuke „Excel“ juostelėje. Pirmiausia turite pasirinkti lentelės duomenų diapazoną.

Taip pat galite naudoti „Alt-A-S-S“, kad būtų rodomas pasirinktinio rūšiavimo dialogo langas.

Rūšiavimo metodas buvo gerokai patobulintas vėlesnėse „Excel“ versijose. Rūšiavimas buvo apribotas iki trijų lygių, tačiau dabar galite įvesti tiek lygių, kiek jums reikia, ir tai taip pat taikoma VBA.

Visas siūlomas rūšiavimo funkcijas „Excel“ rūšiavimo dialogo lange galite įtraukti į savo VBA kodą. Rūšiavimo funkcija „Excel“ yra greita ir greitesnė už viską, ką galėtumėte parašyti patys VBA, todėl pasinaudokite šia funkcija.

Atminkite, kad atliekant rūšiavimą VBA, rūšiavimo parametrai lieka tie patys priekinio tipo rūšiavimo dialogo lange. Jie taip pat išsaugomi, kai išsaugoma darbo knyga.

Jei vartotojas pasirenka tą patį lentelės duomenų diapazoną ir spustelėja rūšiavimo piktogramą, jis matys visus jūsų parametrus, įvestus pagal jūsų VBA kodą. Jei jie nori sukurti savotišką dizainą, pirmiausia jie turės ištrinti visus jūsų rūšiavimo lygius, o tai juos labai erzins.

Be to, jei nekeisite savo kodo parametrų ir pasikliausite numatytosiomis vertėmis, galite pastebėti, kad vartotojas atliko pakeitimų, kurie atsispindės jūsų VBA rūšiavime ir gali duoti netikėtų rezultatų, kuriuos derinti gali būti labai sunku .

Laimei, VBA yra aiškus metodas iš naujo nustatyti visus rūšiavimo parametrus, kad vartotojas pamatytų švaraus rūšiavimo dialogo langą

1 Darbo lapai („Sheet1“). Rūšiuoti.SortFields.Clear

Gera praktika išvalyti rūšiavimo parametrus VBA prieš ir po rūšiavimo.

Praktinis rūšiavimo metodo naudojimas VBA

Kai lentelės duomenys importuojami į „Excel“, jie dažnai būna labai atsitiktine tvarka. Jis gali būti importuotas iš CSV (kableliais atskirtų verčių) failo arba iš nuorodos į duomenų bazę ar tinklalapį. Negalite pasikliauti tuo, kad jis yra nustatyta tvarka iš vieno importo į kitą.

Jei pateikiate šiuos duomenis vartotojui savo darbalapyje, vartotojui gali būti sunku pažvelgti ir suprasti didžiulį duomenų kiekį, kuris tvarkos požiūriu yra visur. Jie gali norėti sugrupuoti duomenis arba iškirpti ir įklijuoti tam tikras jų dalis į kitą programą.

Jie taip pat gali norėti pamatyti, pavyzdžiui, geriausiai apmokamą darbuotoją arba ilgiausiai išdirbusį darbuotoją.

Naudodami rūšiavimo metodą VBA, galite pasiūlyti parinkčių, leidžiančių vartotojui lengvai rūšiuoti.

Pavyzdiniai duomenys, rodantys „Excel“ rūšiavimą naudojant VBA

Pirmiausia turime įvesti tam tikrus duomenų pavyzdžius į darbalapį, kad kodas galėtų parodyti visas VBA galimybes.

Nukopijuokite šiuos duomenis į darbalapį (vadinamą „Sheet1“) tiksliai taip, kaip parodyta.

Atminkite, kad buvo naudojamos skirtingos langelio fono ir šrifto spalvos, nes jos taip pat gali būti naudojamos kaip rūšiavimo parametrai. Rūšiavimas naudojant langelių ir šriftų spalvas bus parodytas vėliau straipsnyje. Taip pat atkreipkite dėmesį, kad E3 langelyje skyriaus pavadinimas yra mažosios raidės.

Jei nenorite naudoti rūšiavimo pagal langelį ir šrifto spalvą pavyzdžių, jums nereikia langelio interjero ir šrifto spalvų.

Makrokomandos įrašymas VBA rūšiavimui

Rūšiavimo VBA kodas gali būti gana sudėtingas, todėl kartais gali būti gera idėja rūšiuoti priekiniame „Excel“ gale ir įrašyti makrokomandą, kad būtų parodyta, kaip kodas veikia.

Deja, įrašymo funkcija gali sugeneruoti didžiulį kodo kiekį, nes ji nustato beveik visus galimus parametrus, nors numatytosios daugelio parametrų vertės yra priimtinos jūsų rūšiavimo operacijai.

Tačiau tai suteikia jums labai gerą supratimą apie tai, kas susiję su VBA rūšiavimo kodo rašymu, ir vienas privalumas yra tas, kad įrašytas kodas visada jums tiks. Kad jūsų kodas tinkamai veiktų, gali reikėti jį išbandyti ir derinti.

Atminkite, kad atliekant operaciją, atliktą naudojant VBA, anuliavimo funkcijos nėra, todėl prieš pradedant rašyti rūšiavimo kodą patartina lentelės duomenų kopiją nukopijuoti į kitą darbalapį.

Pavyzdžiui, jei atliksite paprastą aukščiau pateiktų pavyzdinių duomenų rūšiavimą, surūšiuodami pagal darbuotoją, įrašas sugeneruos šį kodą:

123456789101112131415161718 1 makrokomanda ()Diapazonas („A1: E6“). PasirinkiteActiveWorkbook.Worksheets ("Sheet1"). Rūšiuoti.SortFields.ClearActiveWorkbook.Worksheets ("Sheet1"). Sort.SortFields.Add2 Key: = Diapazonas ("A2: A6"), _Rūšiuoti: = xlSortOnValues, tvarka: = xlAuncending, DataOption: = xlSortNormalSu „ActiveWorkbook.Worksheets“ („Sheet1“). Rūšiuoti.SetRange diapazonas ("A1: E6").Viršelis = xlTaip.MatchCase = Netiesa.Orientation = xlTopToBottom.SortMethod = xlPinYin.TaikytiPabaiga suPabaiga Sub

Tai gana didelė kodo dalis, ir daugelis jo yra nereikalingi dėl naudojamų numatytųjų parametrų. Tačiau jei jums reikia laiko užbaigti projektą ir jums reikia greitai veikiančio kodo, galite jį lengvai įklijuoti į savo VBA kodą.

Tačiau, jei norite, kad jūsų kodas būtų suprantamas ir elegantiškesnis, yra ir kitų variantų.

VBA kodas, skirtas rūšiuoti vienu lygiu

Jei norite rūšiuoti pavyzdinį kodą pagal darbuotoją tik taip, kaip anksčiau, kai įrašote makrokomandą, kodas yra labai paprastas:

1234567 Sub SingleLevelSort ()Darbo lapai („Sheet1“). Rūšiuoti.SortFields.ClearDiapazonas („A1: E6“). Rūšiavimo raktas1: = Diapazonas („A1“), antraštė: = xl TaipPabaiga Sub

Tai daug lengviau suprasti nei įrašytą kodą, nes jis priima numatytuosius nustatymus, pvz., Rūšiuoti didėjančia tvarka, todėl nereikia nustatyti parametrų pagal numatytuosius dydžius. Tai reiškia, kad iš anksto naudojote teiginį „Išvalyti“.

„Išvalymo“ metodas iš pradžių naudojamas siekiant užtikrinti, kad kiekvienas to darbalapio rūšiavimo parametras būtų grąžintas į numatytas vertes. Gali būti, kad naudotojas anksčiau nustatė skirtingų parametrų reikšmes arba ankstesnis VBA tipas galėjo juos pakeisti. Rūšiavimo metu svarbu pradėti nuo numatytosios padėties, kitaip galite lengvai gauti neteisingus rezultatus.

Išvalymo metodas nepakeičia antraštės parametro, todėl patartina jį įtraukti į savo kodą, kitaip „Excel“ gali pabandyti atspėti, ar yra antraštės eilutė, ar ne.

Paleiskite šį kodą prieš pavyzdinius duomenis ir jūsų darbalapis atrodys taip:

VBA kodas daugiapakopiam rūšiavimui atlikti

Kode galite pridėti tiek rūšiavimo lygių, kiek reikia. Tarkime, kad pirmiausia norėjote rūšiuoti pagal skyrių, o paskui pagal pradžios datą, bet didėjančia skyriaus tvarka ir mažėjančia tvarka pradžios datai:

12345678 Sub MultiLevelSort ()Darbo lapai („Sheet1“). Rūšiuoti.SortFields.ClearDiapazonas („A1: E6“). Rūšiavimo raktas1: = Diapazonas („E1“), 2 raktas: = Diapazonas („C1“), antraštė: = xlTaip, _Tvarka1: = xlAugantis, tvarka2: = xlPabaiga Sub

Atminkite, kad dabar rūšiavimo sakinyje yra du raktai (Key1 ir Key2). 1 raktas (skyriaus skyrius E) pirmiausia rūšiuojamas, o tada raktas 2 (pradžios datos stulpelis C) rūšiuojamas pagal pirmąjį rūšiavimą.

Taip pat yra du užsakymo parametrai. „Order1“ asocijuojasi su „Key1“ (skyrius), o „Order2“ - su „Key2“ (pradžios data). Svarbu užtikrinti, kad raktai ir užsakymai atitiktų vienas kitą.

Paleiskite šį kodą prieš pavyzdinius duomenis ir jūsų darbalapis atrodys taip:

Skiltis Departamentas (E) didėjančia tvarka, o stulpelis Pradžios data (C) mažėjančia tvarka.

Šios rūšies efektas labiausiai pastebimas žvelgiant į Jane Halfacre (3 eilutė) ir John Sutherland (4 eilutė). Jie abu dirba finansų srityje, tačiau Jane Halfacre pradėjo veikti prieš Johną Sutherlandą, o datos rodomos mažėjančia tvarka.

Jei lentelės duomenų diapazonas gali būti bet kokio ilgio, rūšiavimo diapazonui apibrėžti galite naudoti „UsedRange“ objektą. Tai veiks tik tuo atveju, jei darbalapyje yra tik lentelės duomenys, nes bet kokios vertės, esančios už duomenų ribų, pateiks neteisingus eilučių ir stulpelių skaičiaus rezultatus.

1234567 Sub MultiLevelSort ()Darbo lapai („Sheet1“). Rūšiuoti.SortFields.ClearDarbo lapai ("Sheet1"). UsedRange.Sort Key1: = Diapazonas ("E1"), Key2: = Diapazonas ("C1"), antraštė: = xlTaip, _Tvarka1: = xlAugantis, tvarka2: = xlPabaiga Sub

Tai apsaugo nuo problemos, jei rūšiavimo diapazonui apibrėžti naudojate metodą „Pabaiga (xlDown)“. Jei duomenų viduryje yra tuščias langelis, viskas, kas yra po tuščio langelio, nebus įtraukta, o „UsedRange“ sumažės iki paskutinio aktyvaus darbalapio langelio.

Rūšiavimas pagal langelio spalvą

Nuo „Excel 2007“ dabar galima rūšiuoti pagal langelio fono spalvą, o tai suteikia didžiulį lankstumą kuriant rūšiavimo kodą VBA.

123456789101112 Sub SingleLevelSortByCellColor ()Darbo lapai („Sheet1“). Rūšiuoti.SortFields.ClearActiveWorkbook.Worksheets ("Sheet1"). Sort.SortFields.Add2 Key: = Diapazonas ("A2: A6"), _Rūšiuoti: = xlSortOnCellColor, tvarka: = xlSu „ActiveWorkbook.Worksheets“ („Sheet1“). Rūšiuoti.SetRange diapazonas ("A1: E6").TaikytiPabaiga suPabaiga Sub

Šis kodas surūšiuos mėginių duomenų diapazoną (A2: A6) pagal langelio fono spalvą. Atminkite, kad dabar yra papildomas parametras „SortOn“, kurio vertė yra „xlSortOnCellColor“.

Atminkite, kad parametrą „SortOn“ gali naudoti tik darbalapio objektas, o ne diapazono objektas.

Dėl šios priežasties kodas yra sudėtingesnis nei rūšiuoti naudojant langelių reikšmes.

Šis kodas naudoja pagrindinę rūšiavimo reikšmę, apimančią visą duomenų diapazoną, tačiau kaip pagrindinės spalvos rūšiavimo raktą galite nurodyti atskirus stulpelius ir naudoti kelis lygius, kaip parodyta anksčiau.

Paleidus šį kodą, jūsų darbalapis dabar atrodys taip:

Rūšiavimas pagal šrifto spalvą

„Excel VBA“ rūšiavimo funkcija suteikia dar daugiau lankstumo, nes galite rūšiuoti pagal šrifto spalvas:

1234567891011121314 Sub SingleLevelSortByFontColor ()Darbo lapai („Sheet1“). Rūšiuoti.SortFields.ClearActiveWorkbook.Worksheets ("Sheet1"). Sort.SortFields.Add (Diapazonas ("A2: A6"), _xlSortOnFontColor, xlAscending, xlSortNormal) .SortOnValue.Color = RGB (0, 0, 0)Su „ActiveWorkbook.Worksheets“ („Sheet1“). Rūšiuoti.SetRange diapazonas ("A1: E6").Viršelis = xlTaip.Orientation = xlTopToBottom.TaikytiPabaiga suPabaiga Sub

Rūšiavimo pagal šrifto spalvą kodas yra daug sudėtingesnis nei langelio fono spalvos. Dabar parametras „SortOn“ turi reikšmę „xlSortOnFontColor“.

Atminkite, kad turite nurodyti orientaciją kaip „xlTopToBottom“ ir rūšiavimą. Tai nurodyta RGB sąlygomis (raudona, žalia, juoda), o reikšmės svyruoja nuo 0 iki 255.

Paleidus šį kodą pagal pavyzdinius duomenis, jūsų darbalapis dabar atrodys taip:

Rūšiavimas naudojant spalvas VBA yra daug sudėtingesnis nei kelių lygių rūšiavimas, tačiau jei jūsų rūšiavimo kodas neveiks (tai gali atsitikti, jei trūksta parametro arba neteisingai įvedėte kodą), visada galite grįžti prie įrašymo makrokomandą ir integruotą įrašytą kodą į savo VBA.

Kiti parametrai naudojant VBA rūšiavimą

Yra keletas pasirenkamų parametrų, kuriuos galite naudoti savo VBA kode, kad pritaikytumėte rūšiavimą.

Rūšiuoti

„SortOn“ pasirenka, ar rūšiavimui bus naudojamos langelių reikšmės, langelio fono spalvos ar langelio šrifto spalvos. Numatytasis nustatymas yra Ląstelių vertės.

1 SortOn = xlSortOnValues

Įsakymas

Tvarka pasirenka, ar rūšiavimas bus atliekamas didėjančia ar mažėjančia tvarka. Numatytasis yra didėjantis.

1 Tvarka = xl

DataOption

„DataOption“ pasirenka teksto ir skaičių rūšiavimą. Parametras xlSortNormal atskirai rūšiuoja skaitinius ir tekstinius duomenis. Parametras xlSortTextAsNumbers tekstą traktuoja kaip skaitinius rūšiavimo duomenis. Numatytasis yra xlSortNormal.

1 DataOption = xlSortNormal

Antraštė

Antraštė pasirenka, ar lentelės duomenų diapazonas turi antraštės eilutę, ar ne. Jei yra antraštės eilutė, nenorite, kad tai būtų įtraukta į rūšiavimą.

Parametrų reikšmės yra xlYes, xlNo ir xlYesNoGuess. xlYesNoGuess palieka „Excel“, kad nustatytų, ar yra antraštės eilutė, o tai gali lengvai sukelti nenuoseklius rezultatus. Nerekomenduojama naudoti šios vertės.

Numatytoji reikšmė yra XNo (duomenų antraštės eilutės nėra). Su importuotais duomenimis paprastai yra antraštės eilutė, todėl įsitikinkite, kad nustatėte šį parametrą kaip xlYes.

1 Antraštė = xlTaip

„MatchCase“

Šis parametras nustato, ar rūšiuoti skiriamos didžiosios ir mažosios raidės. Parinkties reikšmės yra teisingos arba klaidingos. Jei reikšmė yra klaidinga, mažosios raidės laikomos tokiomis pačiomis kaip didžiosios raidės. Jei reikšmė yra „True“, rūšiavimas parodys skirtumą tarp didžiųjų ir mažųjų raidžių verčių rūšiavimo metu. Numatytoji vertė yra False.

1 „MatchCase“ = klaidinga

Orientacija

Šis parametras nustato, ar rūšiavimas vyks žemyn per eilutes, ar per visus stulpelius. Numatytoji reikšmė yra xlTopToBottom (rūšiuoti pagal eilutes). Jei norite rūšiuoti horizontaliai, galite naudoti xlLeftToRight. Tokios reikšmės kaip xlRows ir xlColumns neveikia.

1 Orientacija = xlTopToBottom

SortMethod

Šis parametras naudojamas tik kinų kalboms rūšiuoti. Jis turi dvi reikšmes: xlPinYin ir xlStroke. xlPinYin yra numatytoji reikšmė.

„xlPinYin“ rūšiuoja pagal fonetinę simbolių kinų rūšiavimo tvarką. „xlStroke“ rūšiuoja pagal kiekvieno simbolio smūgių skaičių.

Jei įrašysite rūšiavimo makrokomandą, šis parametras visada bus įtrauktas į kodą ir jums gali būti įdomu, ką tai reiškia. Tačiau, nebent jūs susiduriate su duomenimis kinų kalba, jie yra mažai naudingi.

1 SortMethod = xlPinYin

Dviejų spustelėjimų įvykio naudojimas lentelės duomenims rūšiuoti

Visose funkcijose, kurias „Microsoft“ įtraukė į VBA rūšiavimo metodus, nebuvo paprastų būdų du kartus spustelėti stulpelio antraštę ir surūšiuoti visus lentelės duomenis pagal tą konkretų stulpelį.

Tai tikrai naudinga funkcija, ir tai lengva parašyti, kad tai padarytumėte.

12345678910111213141516171819202122232425262728293031323334 Privatus antrinis darbalapis_BeforeDoubleClick („ByVal Target As Range“, „Cancel as Boolean“)„Daroma prielaida, kad duomenys prasideda A1 langelyje„Sukurkite tris kintamuosius, kad užfiksuotumėte pasirinktą tikslinį stulpelį ir didžiausią stulpelį bei eilutę _“lentelės duomenysDim Col As As Integer, RCol As Long, RRow As Long„Patikrinkite, ar vartotojas dukart spustelėjo antraštės eilutę - 1 eilutė, kitaip išeikite iš antrinės daliesJei taikinys. 1 eilutė, tada išeikite iš antr„Užfiksuokite maksimalias eilutes lentelės duomenų diapazone naudodami objektą„ UsedRange “RCol = ActiveSheet.UsedRange.Columns.Count„Užfiksuokite didžiausius stulpelius lentelės duomenų diapazone naudodami objektą„ UsedRange “RRow = ActiveSheet.UsedRange.Rows.Count„Patikrinkite, ar vartotojas nėra dukart spustelėjęs stulpelio, esančio už lentelės duomenų diapazono ribųJei Target.Column> RCol Tada Exit Sub„Užfiksuokite stulpelį, kurį vartotojas dukart spustelėjoCol = Tikslas. Stulpelis„Išvalykite ankstesnius rūšiavimo parametrusActiveSheet.Sort.SortFields.Clear„Rūšiuokite lentelių diapazoną, kaip apibrėžta maksimaliomis eilutėmis ir stulpeliais iš„ UsedRange “objekto„Rūšiuokite lentelės duomenis naudodami stulpelį, kurį vartotojas dukart spustelėjo kaip rūšiavimo raktąActiveSheet.Range (langeliai (1, 1), langeliai (RCol, RRow)). Rūšiavimo raktas1: = ląstelės (1, stulpelis), antraštė: = xl Taip„Pasirinkite langelį A1 - tai užtikrins, kad vartotojas neliks redagavimo režime, kai rūšiavimas bus baigtas _'baigtas„ActiveSheet.Range“ („A1“). PasirinkitePabaiga Sub

Šį kodą reikia įdėti į lapo, kuriame yra lentelės duomenys, dukart spustelėjus įvykį. Tai galite padaryti spustelėję darbalapio pavadinimą „Project Explorer“ lange (viršutiniame kairiajame VBE ekrano kampe), o tada pasirinkę „Darbo lapas“ pirmame kodo lango išskleidžiamajame meniu. Antrame išskleidžiamajame meniu pasirinkite „BeforeDoubleClick“, tada galėsite įvesti kodą.

Atminkite, kad į šį kodą jokie pavadinimai, diapazonai ar langelių nuorodos nėra užkoduoti, išskyrus žymeklio perkėlimą į langelį A1 kodo pabaigoje. Kodas sukurtas taip, kad gautų visą reikalingą informaciją iš langelio koordinačių, kurias vartotojas dukart spustelėjo, ir lentelės duomenų diapazono dydį.

Nesvarbu, koks yra lentelės duomenų diapazonas. Kodas vis tiek surinks visą reikiamą informaciją ir gali būti naudojamas duomenims, saugomiems bet kurioje jūsų darbaknygės vietoje, nereikalaujant reikšmingų kodų.

Vienintelė prielaida yra ta, kad lentelės duomenyse yra antraštės eilutė ir kad duomenų diapazonas prasideda A1 langelyje, tačiau pradinę duomenų diapazono padėtį galima lengvai pakeisti kodu.

Bet kuris vartotojas bus tinkamai sužavėtas šia nauja rūšiavimo funkcija!

Rūšiavimo funkcijos išplėtimas naudojant VBA

„Microsoft“ leido nepaprastai lanksčiai rūšiuoti naudojant įvairius parametrus. Tačiau VBA galite tai padaryti toliau.

Tarkime, kad norėjote rūšiuoti visas reikšmes su paryškintu šriftu į duomenų viršuje. „Excel“ to padaryti negalima, tačiau galite parašyti VBA kodą:

123456789101112131415161718192021222324252627282930313233343536373839404142 Sub SortByBold ()„Sukurkite kintamuosius, kad išlaikytumėte lentelės duomenų eilučių ir stulpelių skaičiųDim RRow Long, RCol Long, N As Long„Išjunkite ekrano atnaujinimą, kad vartotojas nematytų, kas vyksta - gali matyti _„keičiamos vertybės ir įdomu, kodėlApplication.ScreenUpdating = Netiesa„Užfiksuokite stulpelių skaičių lentelės duomenų diapazoneRCol = ActiveSheet.UsedRange.Columns.Count„Užfiksuokite eilučių skaičių lentelės duomenų diapazoneRRow = ActiveSheet.UsedRange.Rows.Count„Pakartokite visas lentelės duomenų diapazono eilutes, nepaisydami antraštės eilutėsN = 2 iki RRow„Jei langelis turi paryškintą šriftą, prieš langelio vertę padėkite pirmąją 0 reikšmęJei ActiveSheet.Cells (N, 1) .Font.Bold = True TadaActiveSheet.Cells (N, 1) .Value = "0" & ​​ActiveSheet.Cells (N, 1) .ValuePabaiga JeiKitas N.„Išvalykite visus ankstesnius rūšiavimo parametrusActiveSheet.Sort.SortFields.Clear„Rūšiuoti lentelių duomenų diapazoną. Visos vertės, kurių pirmaujanti 0 reikšmė, bus perkeltos į viršųActiveSheet.Range (langeliai (1, 1), langeliai (RCol, RRow)). Rūšiavimo raktas1: = ląstelės (1, 1), antraštė: = xl Taip„Pakartokite visas lentelės duomenų diapazono eilutes, nepaisydami antraštės eilutėsN = 2 iki RRow„Jei langelis turi paryškintą šriftą, pašalinkite pirmąją 0 reikšmę iš langelio vertės į _“atkurti pradines vertybesJei ActiveSheet.Cells (N, 1) .Font.Bold = True TadaActiveSheet.Cells (N, 1). Value = Mid (ActiveSheet.Cells (N, 1). Value, 2)Pabaiga JeiKitas N.„Vėl įjunkite ekrano atnaujinimąApplication.ScreenUpdating = TiesaPabaiga Sub

Kodas nustato lentelės duomenų diapazono dydį, naudodamas objektą „UsedRange“, ir tada kartojasi per visas jo eilutes. Radus paryškintą šriftą, prieš langelio reikšmę dedamas nulis.

Tada įvyksta rūšiavimas. Kadangi rūšiavimas yra didėjančia tvarka, bet kas, kurio priekyje yra nulis, pateks į sąrašo viršų.

Tada kodas kartoja visas eilutes ir pašalina pradinius nulius, atkurdamas pradines duomenų reikšmes.

Šis kodas kaip kriterijus rūšiuojamas naudojant paryškintus šriftus, tačiau jūs galite lengvai naudoti kitas langelio savybes tokiu pačiu būdu, pvz., Kursyvo šriftą, teksto taško dydį, pabraukimo šriftą, šrifto pavadinimą ir kt.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave