В тази статия ще създадем макрос за сортиране на данни в листа по рожден ден и няма да вземаме предвид годината, докато сортираме данните.
Суровите данни се състоят от две колони, едната съдържа името, а втората колона съдържа датата на раждане.
Логично обяснение
Създадохме макрос „sorting_names_by_birthday“, който ще сортира данните.
В този макрос първо вмъкваме формули в колона C, където откриваме разликата между датата на раждане и първата дата на годината им на раждане. След това сортираме данните по Име за сортиране на данни по азбучен ред, така че ако двама кандидати имат една и съща дата на раждане, тогава имената им трябва да се появяват по азбучен ред. След това сортираме данните, като изчисляваме разликата във възходящ ред, за да сортираме данните по рожден ден. След сортиране на данните, за изтриване на формулите от колона C, изтрийте цялата колона C.
За да стартирате макроса, натиснете Alt +F8 или Отидете в раздела Разработчик> щракнете върху Макрос.
Моля, следвайте кода по -долу
Опция Explicit Sub sorting_names_by_birthday () „Деактивиране на актуализацията на екрана Application.ScreenUpdating = False Dim Last_Row As Long 'Намиране на последния ред Last_Row = ActiveCell.SpecialCells (xlCellTypeLastCell). Обхват на ред („ C16 “). Изберете„ Получаване на годината на Изваждане на първата дата в годината от датата на рожден ден ActiveCell.FormulaR1C1 = "= RC [-1] -DATE (YEAR (RC [-1]), 1,1)" '' Плъзгане на обхвата на формулата ("C16: C" & Last_Row) .Изберете Selection.FillDown 'Сортиране на данните първо по колона A, след това по колона C Обхват ("A15"). CurrentRegion.Sort _ key1: = Range ("C15"), order1: = xlAscending, _ key2: = Range ("A15"), ред2: = xlAscending, _ Header: = xlДа 'Изтриване на колона C Колони ("C"). Изтриване на диапазон ("A15"). Изберете End Sub
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта