In diesem Artikel erstellen wir ein Makro, um doppelte Datensätze aus den Daten zu entfernen.
Rohdaten bestehen aus Mitarbeiterdaten, die Name, Alter und Geschlecht umfassen.
Logikerklärung
Wir haben ein Makro „RemovingDuplicate“ erstellt, um doppelte Datensätze aus den Daten zu entfernen. Dieses Makro bezieht zuerst die Daten in einer Sequenz und vergleicht dann die Werte zweier aufeinanderfolgender Zeilen, um doppelte Datensätze zu finden.
Codeerklärung
ActiveSheet.Sort.SortFields.Clear
Der obige Code wird verwendet, um jede vorherige Sortierung der Daten zu entfernen.
ActiveSheet.Sort.SortFields.Add Key:=Range(Selection.Address), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
Der obige Code wird verwendet, um die Daten in der ersten Spalte in aufsteigender Reihenfolge zu sortieren.
For i = ActiveSheet.Cells(Rows.Count, Selection.Column).End(xlUp).Row To Selection.Row + 1 Step -1
Der obige Code wird verwendet, um umgekehrte Schleifen anzuwenden, beginnend von der letzten Reihe bis zur ausgewählten Reihe.
ActiveSheet.Rows(i).Shift löschen:=xlUp
Der obige Code wird verwendet, um eine Zeile zu löschen und den Cursor in die obere Zeile zu bewegen.
Bitte folgen Sie unten für den Code
Option Explicit Sub RemoveDuplicate() 'Variablen deklarieren Dim i As Long 'Bildschirmaktualisierungen deaktivieren Application.ScreenUpdating = False Range("A11").Select ActiveSheet.Sort.SortFields.Clear 'Daten in aufsteigender Reihenfolge sortieren 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 'Durchlaufen aller Zellen For i = ActiveSheet.Cells(Rows. Count, Selection.Column).End(xlUp).Row To Selection.Row + 1 Step -1 'Wert zweier benachbarter Zellen für doppelte Datensätze vergleichen Wenn ActiveSheet.Cells(i, Selection.Column).Value = ActiveSheet.Cells( (i - 1), Selection.Column).Value Then 'Den doppelten Datensatz löschen ActiveSheet.Rows(i).Delete shift:=xlUp End If Next i 'Bildschirm nach oben aktivieren Daten Application.ScreenUpdating = True End Sub
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site