Izbrišite podvojene zapise z uporabo VBA v programu Microsoft Excel

Anonim

V tem članku bomo ustvarili makro za odstranitev podvojenih zapisov iz podatkov.

Neobdelane podatke sestavljajo podatki o zaposlenih, ki vključujejo ime, starost in spol.

Logična razlaga

Ustvarili smo makro »RemovingDuplicate« za odstranitev podvojenih zapisov iz podatkov. Ta makro najprej pridobi podatke v zaporedju, nato pa naredi primerjavo med vrednostmi dveh zaporednih vrstic, da ugotovi podvojene zapise.

Razlaga kode

ActiveSheet.Sort.SortFields.Clear

Zgornja koda se uporablja za odstranitev predhodnega razvrščanja podatkov.

ActiveSheet.Sort.SortFields.Add Key: = Range (Selection.Address), _

SortOn: = xlSortOnValues, Vrstni red: = xlAscending, DataOption: = xlSortTextAsNumbers

Zgornja koda se uporablja za razvrščanje podatkov v prvem stolpcu po naraščajočem vrstnem redu.

For i = ActiveSheet.Cells (Rows.Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Step -1

Zgornja koda se uporablja za uporabo povratne zanke, od zadnje vrstice do izbrane vrstice.

ActiveSheet.Rows (i). Izbriši premik: = xlUp

Zgornja koda se uporablja za brisanje vrstice in premik kurzorja v zgornjo vrstico.

Za kodo sledite spodaj

 Možnost Eksplicitna podstranitev RemovingDuplicate () 'Razglasitev spremenljivk Dim i As Long' Onemogočanje posodobitev zaslona Application.ScreenUpdating = False Range ("A11"). Izberite ActiveSheet.Sort.SortFields.Clear 'Razvrščanje podatkov v naraščajočem vrstnem redu ActiveSheet.Sort.SortFields.Add Ključ: = Obseg (Selection.Address), _ SortOn: = xlSortOnValues, Vrstni red: = xlAscending, DataOption: = xlSortTextAsNumbers Z ActiveSheet.Sort .SetRange Range (Selection.Offset (1, 0), ActiveSheet.Cells, Rows, Rows, Selection.End (xlToRight) .Column) .End (xlUp)) .Header = xlNo. Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Step -1 'Primerjava vrednosti dveh sosednjih celic za podvojene zapise Če je ActiveSheet.Cells (i, Selection.Column) .Value = ActiveSheet.Cells ( (i - 1), Izbor. Stolpec). Vrednost Nato 'Izbriši podvojeni zapis ActiveSheet.Rows (i). Izbriši premik: = xlUp End If Next i' Omogočanje zaslona navzgor datumi Application.ScreenUpdating = True End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte