Dubleerivate kirjete kustutamine Microsoft Excelis VBA abil

Anonim

Selles artiklis loome makro, et eemaldada andmetest topeltkirjed.

Toorandmed koosnevad töötajate andmetest, mis sisaldavad nime, vanust ja sugu.

Loogiline seletus

Oleme loonud makro “RemovingDuplicate”, et eemaldada andmetest topeltkirjed. See makro hankib esmalt andmed järjestikku ja võrdleb seejärel kahe järjestikuse rea väärtusi, et leida topeltkirjeid.

Koodi selgitus

ActiveSheet.Sort.SortFields.Clear

Ülaltoodud koodi kasutatakse andmete varasema sortimise eemaldamiseks.

ActiveSheet.Sort.SortFields.Add võti: = Vahemik (Selection.Address), _

SortOn: = xlSortOnValues, järjestus: = xlAscending, DataOption: = xlSortTextAsNumbers

Ülaltoodud koodi kasutatakse esimese veeru andmete sortimiseks kasvavas järjekorras.

I = ActiveSheet.Cells (Rows.Count, Selection.Column). End (xlUp). Rida valikule. Rida + 1 samm -1

Ülaltoodud koodi kasutatakse tagasilöögi rakendamiseks, alates viimasest reast kuni valitud reani.

ActiveSheet.Ridad (i). Kustuta nihe: = xlUp

Ülaltoodud koodi kasutatakse rea kustutamiseks ja kursori ülemisele reale viimiseks.

Palun järgige koodi allpool

 Valik Explicit Sub RemovingDuplicate () 'Muutujate deklareerimine Dim i As Long' Ekraanivärskenduste keelamine Application.ScreenUpdating = False Range ("A11"). Valige ActiveSheet.Sort.SortFields.Clear 'Andmete sortimine kasvavas järjekorras ActiveSheet.Sort.SortFields.Add Võti: = Vahemik (Selection.Address), _ SortOn: = xlSortOnValues, Order: = xlAscending, DataOption: = xlSortTextAsNumbers 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 .Kasuta lõpp kõigi lahtritega Silmamine i = ActiveSheet .Cells ( Count, Selection.Column) .End (xlUp). Rida valikule. Rida + 1 Samm -1 'Kahe külgneva lahtri väärtuse võrdlemine duplikaatkirjete jaoks Kui ActiveSheet.Cells (i, Selection.Column) .Value = ActiveSheet.Cells ( (i - 1), Selection.Column) .Väärtus Siis "Kustuta duplikaatkirje ActiveSheet.Rows (i). Kustuta shift: = xlUp End If Next i" Luba ekraan üles kuupäevad Application.ScreenUpdating = True End Sub 

Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile