V tomto článku vytvoříme makro pro odstranění duplicitních záznamů z dat.
Nezpracovaná data se skládají z údajů o zaměstnancích, které zahrnují jméno, věk a pohlaví.
Logické vysvětlení
Vytvořili jsme makro „RemovingDuplicate“ pro odstranění duplicitních záznamů z dat. Toto makro nejprve získává data v posloupnosti a poté porovnává hodnoty dvou po sobě jdoucích řádků, aby zjistilo duplicitní záznamy.
Vysvětlení kódu
ActiveSheet.Sort.SortFields.Clear
Výše uvedený kód slouží k odebrání jakéhokoli předchozího řazení dat.
Klíč ActiveSheet.Sort.SortFields.Add: = Rozsah (Selection.Address), _
SortOn: = xlSortOnValues, Order: = xlAscending, DataOption: = xlSortTextAsNumbers
Výše uvedený kód slouží k seřazení dat v prvním sloupci ve vzestupném pořadí.
Pro i = ActiveSheet.Cells (Rows.Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Krok -1
Výše uvedený kód se používá k použití zpětné smyčky, počínaje od posledního řádku do vybraného řádku.
ActiveSheet.Rows (i). Odstranit posun: = xlUp
Výše uvedený kód slouží k odstranění řádku a přesunutí kurzoru do horního řádku.
Pro kód prosím postupujte níže
Volba Explicitní Sub RemovingDuplicate () 'Deklarace proměnných Dim i As Long' Deaktivace aktualizací obrazovky Application.ScreenUpdating = False Range ("A11"). Vyberte ActiveSheet.Sort.SortFields.Clear 'Třídění dat ve vzestupném pořadí ActiveSheet.Sort.SortFields.Add Klíč: = 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 'Looping through the all For For i = ActiveSheet.Cells (. Count, Selection.Column) .End (xlUp) .Row To Selection.Row + 1 Step -1 'Porovnávání hodnoty dvou sousedních buněk pro duplicitní záznamy If ActiveSheet.Cells (i, Selection.Column) .Value = ActiveSheet.Cells ( (i - 1), Selection.Column) .Value Then 'Smazat duplicitní záznam ActiveSheet.Rows (i). Odstranit posun: = xlUp End If Next i' Povolení obrazovky nahoru data Application.ScreenUpdating = True End Sub
Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail