Bu yazımızda verilerden mükerrer kayıtları kaldırmak için bir makro oluşturacağız.
Ham veriler, Ad, Yaş ve Cinsiyeti içeren çalışan verilerinden oluşur.
Mantıksal açıklama
Verilerden yinelenen kayıtları kaldırmak için bir “RemovingDuplicate” makrosu oluşturduk. Bu makro, önce bir dizideki verileri besler ve daha sonra mükerrer kayıtları bulmak için iki ardışık satırın değerleri arasında karşılaştırma yapar.
Kod açıklaması
ActiveSheet.Sort.SortFields.Clear
Yukarıdaki kod, verilerdeki önceki sıralamaları kaldırmak için kullanılır.
ActiveSheet.Sort.SortFields.Anahtar Ekle:=Aralık(Seçim.Adres), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
Yukarıdaki kod, ilk sütundaki verileri artan düzende sıralamak için kullanılır.
i için = ActiveSheet.Cells(Rows.Count, Selection.Column).End(xlUp).Row To Selection.Row + 1 Adım -1
Yukarıdaki kod, son satırdan seçilen satıra doğru ters döngü uygulamak için kullanılır.
ActiveSheet.Rows(i).Delete shift:=xlUp
Yukarıdaki kod, bir satırı silmek ve imleci bir üst satıra taşımak için kullanılır.
Lütfen kod için aşağıdan takip edin
Seçenek Explicit Sub RemovingDuplicate() 'Değişkenleri Bildirme Dim i As Long' Ekran güncellemelerini devre dışı bırakma Application.ScreenUpdating = False Range("A11").ActiveSheet.Sort.SortFields.Clear 'Verileri artan sırada sıralama ActiveSheet.Sort.SortFields.Add Key:=Range(Selection.Address), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers with ActiveSheet.Sort .SetRange Range(Selection.Offset(1, 0), ActiveSheet.Cells(Rows.Count, Selection.End(xlToRight).Column).End(xlUp)) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End with 'Tüm hücreler arasında döngü yapma For i = ActiveSheet.Cells(Rows) Count, Selection.Column).End(xlUp).Row To Selection.Row + 1 Adım -1 'Yinelenen kayıtlar için iki bitişik hücrenin değerini karşılaştırma If ActiveSheet.Cells(i, Selection.Column).Value = ActiveSheet.Cells( (i - 1), Selection.Column).Value Ardından 'ActiveSheet.Rows(i) çift kaydını silin.Delete shift:=xlUp End If Next i 'Ekranı etkinleştirme tarihler Application.ScreenUpdating = True 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