V tomto článku vytvoříme makro pro třídění dat v listu podle narozenin a při třídění dat nebudeme uvažovat o roce.
Nezpracovaná data se skládají ze dvou sloupců, jeden obsahuje jméno a druhý sloupec obsahuje datum narození.
Logické vysvětlení
Vytvořili jsme makro „sorting_names_by_birthday“, které bude data třídit.
V tomto makru nejprve vložíme vzorce do sloupce C, kde najdeme rozdíl mezi datem narození a prvním datem jejich roku narození. Poté data seřadíme podle jména pro seřazení dat v abecedním pořadí, takže pokud mají dva kandidáti stejné datum narození, jejich jména by se měla objevit v abecedním pořadí. Poté data seřadíme výpočtem rozdílu ve vzestupném pořadí, abychom data seřadili podle narozenin. Po seřazení dat pro odstranění vzorců ze sloupce C vymažte celý sloupec C.
Pro spuštění makra stiskněte Alt +F8 nebo přejděte na kartu Vývojář> klikněte na Makro.
Pro kód prosím postupujte níže
Možnost Explicitní dílčí třídění_název_bydni_dnů () 'Deaktivace aktualizace obrazovky Application.ScreenUpdating = False Dim Last_Row As Long' Hledání posledního řádku Last_Row = ActiveCell.SpecialCells (xlCellTypeLastCell) .Row Range („C16“). Vyberte 'Získání dnů v roce' Odečtení prvního data roku od data narozenin ActiveCell.FormulaR1C1 = "= RC [-1] -DATE (YEAR (RC [-1]), 1,1)" '' Přetažení vzorce Rozsah ("C16: C" & Last_Row). Vyberte Selection.FillDown 'Seřazení dat nejprve podle sloupce A a poté podle sloupce C Rozsah („A15“). CurrentRegion.Sort _ key1: = Range („C15“), order1: = xlAscending, _ key2: = Range ("A15"), order2: = xlAscending, _ Header: = xlYes 'Smazání sloupce C Sloupce ("C"). Odstranit rozsah ("A15"). Vyberte End Sub
Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail