Bu yazımızda, sayfadaki verileri doğum gününe göre sıralamak için bir makro oluşturacağız ve verileri sıralarken yılı dikkate almayacağız.
Ham veriler iki sütundan oluşur, biri adı içerir ve ikinci sütun doğum tarihini içerir.
Mantıksal açıklama
Verileri sıralayacak “sorting_names_by_birthday” makrosu oluşturduk.
Bu makroda öncelikle doğum tarihi ile doğum yılının ilk tarihi arasındaki farkı bulduğumuz C sütununa formüller ekliyoruz. Ardından, verileri alfabetik sıraya göre sıralamak için verileri Ada göre sıralarız, böylece iki aday aynı doğum tarihine sahipse adları alfabetik sırada görünmelidir. Daha sonra verileri doğum gününe göre sıralamak için artan düzende farkı hesaplayarak sıralarız. Verileri sıraladıktan sonra C sütunundaki formülleri silmek için C sütununun tamamını silin.
Makroyu çalıştırmak için Alt +F8 tuşlarına basın veya Geliştirici sekmesine gidin > Makro'ya tıklayın.
Lütfen kod için aşağıdan takip edin
Seçenek Explicit Sub sorting_names_by_birthday() 'Ekran güncellemesini devre dışı bırakma Application.ScreenUpdating = False Dim Last_Row As Long 'Finding the last_Row = ActiveCell.SpecialCells(xlCellTypeLastCell).Row Range("C16").Yılın günlerini alma'yı seçin ActiveCell.FormulaR1C1 = "=RC[-1]-DATE(YEAR(RC[-1]),1,1)" 'Formülü sürükleme Aralık("C16:C" & Last_Row).Select Selection.FillDown 'Verileri önce A sütununa, sonra C sütununa göre sıralama Range("A15").CurrentRegion.Sort _ key1:=Range("C15"), order1:=xlAscending, _ key2:=Range ("A15"), order2:=xlAscending, _ Header:=xlYes 'C Sütunları("C").Delete Range("A15").Select End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın