Sorter dataene etter bursdag ved hjelp av VBA i Microsoft Excel

Anonim

I denne artikkelen vil vi lage en makro for sortering av data i arket etter fødselsdag, og vi vil ikke vurdere år mens vi sorterer dataene.

Rådata består av to kolonner, den ene inneholder navnet og den andre kolonnen inneholder fødselsdatoen.

Logisk forklaring

Vi har laget en makro, “sorting_names_by_birthday” som vil sortere dataene.

I denne makroen setter vi først inn formler i kolonnen C hvor vi finner forskjellen mellom fødselsdato og første dato for fødselsåret. Deretter sorterer vi dataene etter navn for å sortere data i alfabetisk rekkefølge, slik at hvis to kandidater har samme fødselsdato, skal navnene vises i alfabetisk rekkefølge. Deretter sorterer vi dataene ved å beregne forskjellen i stigende rekkefølge for å sortere data etter fødselsdag. Etter å ha sortert dataene, for å slette formlene fra kolonnen C, slett hele kolonnen C.

For å kjøre makroen, trykk Alt +F8 eller Gå til kategorien Utvikler> klikk på Makro.

Følg koden nedenfor

 Option Explicit Sub sorting_names_by_birthday () 'Deaktivering av skjermoppdatering Application.ScreenUpdating = False Dim Last_Row As Long' Finne den siste raden Last_Row = ActiveCell.SpecialCells (xlCellTypeLastCell) .Rekkevidde ("C16"). Velg "Få dagene i året" Trekker fra årets første dato fra fødselsdatoen ActiveCell.FormulaR1C1 = "= RC [-1] -DATE (YEAR (RC [-1]), 1,1)" 'Dra formelen Range ("C16: C" & Last_Row) .Velg Selection.FillDown 'Sortering av data først etter kolonne A deretter etter kolonne C Range ("A15"). CurrentRegion.Sort _ key1: = Range ("C15"), order1: = xlAscending, _ key2: = Range ("A15"), order2: = xlAscending, _ Header: = xlJa 'Sletter kolonnen C -kolonner ("C"). Slett område ("A15"). Velg End Sub 

Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post