V tem članku bomo ustvarili makro za razvrščanje podatkov na listu po datumu rojstva in pri razvrščanju podatkov ne bomo upoštevali leta.
Surovi podatki so sestavljeni iz dveh stolpcev, eden vsebuje ime, drugi pa datum rojstva.
Logična razlaga
Ustvarili smo makro "sorting_names_by_birthday", ki bo razvrstil podatke.
V ta makro najprej vstavimo formule v stolpec C, kjer najdemo razliko med datumom rojstva in prvim datumom njihovega rojstnega leta. Nato podatke razvrstimo po imenu za razvrščanje podatkov po abecednem vrstnem redu, tako da se morata, če imata dva kandidata isti datum rojstva, njihova imena prikazati po abecednem vrstnem redu. Nato podatke razvrstimo z izračunom razlike v naraščajočem vrstnem redu, da podatke razvrstimo po rojstnem dnevu. Po razvrščanju podatkov za brisanje formul iz stolpca C izbrišite celoten stolpec C.
Če želite zagnati makro, pritisnite Alt +F8 ali Pojdite na zavihek Razvijalec> kliknite Makro.
Za kodo sledite spodaj
Možnost Eksplicitno pod sortiranje_naziv_by_birthday () 'Onemogočanje posodobitve zaslona Application.ScreenUpdating = False Dim Last_Row As Long' Iskanje zadnje vrstice Last_Row = ActiveCell.SpecialCells (xlCellTypeLastCell). Odštevanje prvega datuma leta od datuma rojstnega dne ActiveCell.FormulaR1C1 = "= RC [-1] -DATE (LETO (RC [-1]), 1,1)" '' Vlečenje razpona formule ("C16: C" & Last_Row) .Izberite Selection.FillDown 'Razvrščanje podatkov najprej po stolpcu A, nato po stolpcu C Obseg ("A15"). CurrentRegion.Sort _ key1: = Range ("C15"), order1: = xlAscending, _ key2: = Range ("A15"), vrstni red2: = xlAscending, _ Header: = xlDa 'Brisanje stolpcev C stolpcev ("C"). Izbriši obseg ("A15"). Izberite End Sub
Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.
Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte