Seřaďte data podle narozenin pomocí VBA v Microsoft Excelu

Obsah

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

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave