U ovom ćemo članku stvoriti makronaredbu za uklanjanje dupliciranih zapisa iz podataka.
Sirovi podaci sastoje se od podataka o zaposlenicima, koji uključuju ime, dob i spol.
Logično objašnjenje
Napravili smo makronaredbu “RemovingDuplicate” za uklanjanje dupliciranih zapisa iz podataka. Ova makronaredba prvo izvor podataka u nizu, a zatim vrši usporedbu između vrijednosti dva uzastopna retka kako bi se pronašli duplicirani zapisi.
Objašnjenje koda
ActiveSheet.Sort.SortFields.Clear
Gornji kôd koristi se za uklanjanje prethodnog sortiranja podataka.
ActiveSheet.Sort.SortFields.Add Key: = Raspon (Selection.Address), _
Sortiraj: = xlSortOnValues, Redoslijed: = xlAscending, DataOption: = xlSortTextAsNumbers
Gornji kôd koristi se za sortiranje podataka u prvom stupcu uzlaznim redoslijedom.
Za i = ActiveSheet.Cells (Rows.Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Step -1
Gornji kôd koristi se za primjenu obrnute petlje, počevši od zadnjeg reda do odabranog retka.
ActiveSheet.Rows (i) .Delete shift: = xlUp
Gornji kôd koristi se za brisanje retka i pomicanje kursora u gornji red.
Molimo slijedite dolje za kôd
Opcija Eksplicitno pod uklanjanjeDuplicate () 'Deklariranje varijabli Dim i As Long' Onemogućavanje ažuriranja zaslona Application.ScreenUpdating = False Range ("A11"). Odaberite ActiveSheet.Sort.SortFields.Clear 'Sortiranje podataka u rastućem redoslijedu ActiveSheet.Sort.SortFields.Add Ključ: = Raspon (Odabir.Addresa), _ Sortiraj: = xlSortOnValues, Redoslijed: = xlAscending, DataOption: = xlSortTextAsNumbers S ActiveSheet.Sort .SetRange rasponom (Selection.Offset (1, 0), ActiveSheet.Cells, Rows, Rows, Selection.End (xlToRight) .Column) .End (xlUp)) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin. Primijeni Završi s 'Petlja kroz sve ćelije Za i = ActiveSheet.Ce. Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Step -1 'Usporedba vrijednosti dviju susjednih ćelija za duple zapise Ako ActiveSheet.Cells (i, Selection.Column) .Value = ActiveSheet.Cells ( (i - 1), Selection.Column) .Value Zatim 'Izbriši dupli zapis ActiveSheet.Rows (i) .Delete shift: = xlUp End If Next i' Omogućavanje zaslona gore datumi Application.ScreenUpdating = True End Sub
Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.
Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte