U ovom ćemo članku stvoriti makronaredbu za sortiranje podataka na listu prema rođendanu i nećemo uzeti u obzir godinu prilikom sortiranja podataka.
Sirovi podaci sastoje se od dva stupca, jedan sadrži ime, a drugi stupac sadrži datum rođenja.
Logično objašnjenje
Napravili smo makronaredbu “sorting_names_by_birthday” koja će sortirati podatke.
U ovaj makro prvo ubacujemo formule u stupac C gdje nalazimo razliku između datuma rođenja i prvog datuma njihove godine rođenja. Zatim sortiramo podatke po imenu za sortiranje podataka po abecednom redu, tako da ako dva kandidata imaju isti datum rođenja, njihova imena trebaju se pojaviti po abecednom redu. Zatim sortiramo podatke izračunavajući razliku u rastućem redoslijedu za sortiranje podataka prema rođendanu. Nakon razvrstavanja podataka, za brisanje formula iz stupca C, izbrišite cijeli stupac C.
Za pokretanje makronaredbe pritisnite Alt +F8 ili Idi na karticu Razvojni programer> kliknite Makro.
Molimo slijedite dolje za kôd
Opcija Eksplicitno Pod sorting_names_by_birthday () 'Onemogućavanje ažuriranja zaslona Application.ScreenUpdating = False Dim Last_Row As Long' Pronalaženje posljednjeg retka Last_Row = ActiveCell.SpecialCells (xlCellTypeLastCell). Raspon reda ("C16"). Odaberite 'Dobivanje godine dana Oduzimanje prvog datuma godine od datuma rođendana ActiveCell.FormulaR1C1 = "= RC [-1] -DATE (YEAR (RC [-1]), 1,1)" '' Povlačenje raspona formule ("C16: C" & Last_Row) .Odaberite Selection.FillDown 'Sortiranje podataka prvo po stupcu A, a zatim po stupcu C Raspon ("A15"). CurrentRegion.Sort _ key1: = Raspon ("C15"), order1: = xlAscending, _ key2: = Raspon ("A15"), red2: = xlAscending, _ Header: = xlDa 'Brisanje stupca C Stupci ("C"). Brisanje raspona ("A15"). Odaberite End Sub
Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.
Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte