Doppelte Zeilen in Excel mit VBA löschen

May 27

Doppelte Zeilen in Excel mit VBA löschen

Bestimmte Tabellen werden verwendet und einiges aktualisiert. Diese sind oft mit Daten gefüllt, die mehrmals wiederholt wird. Gibt es Möglichkeiten zum Suchen und löschen Sie alle Zeilen, die die doppelten Daten enthalten, aber die einfachste und automatische Möglichkeiten, dies zu erreichen ist mit einem Visual Basic-Makro. Excel enthält eine Anwendung für die Programmierung, die Excel-VBA, die verwendet werden können, um eine beliebige Anzahl von Makros machen genannt — Teile des Codes entwickelt, um eine benutzerdefinierte Aufgabe immer beschworen.

Anweisungen

Das Makro Programmierung

1 Öffnen Sie Ihre Kalkulationstabelle in Excel, und öffnen Sie den VBA-Editor durch Drücken von Alt und F11-Taste auf Ihrem Computer.

2 Starten Sie ein neues Projekt, indem Ihre Arbeitsmappe im Menü der rechten Maustaste und wählen Sie die Option "Neu".

3 Starten Sie die neue Funktion mit "Sub DeleteDuplicateRows()." Dies weist den VBA-Compiler gibt es eine neue Unterroutine, der sie beachten sollten.

4 Erstellen Sie die Variablen mit dem folgenden Code:

Dim Zeile so langeDim Count wie langeDim vergleichen als VarianteDim Bereich als Range

Dies gibt dem System die Aufhebung die vier Variablen (Zeile, Count, Vergleich und Angebot) im Code verwenden. So können Sie unabhängig Variablennamen für Sie nicht sinnvoller, aber denken Sie daran, diese im Code später ändern.

5 Richten Sie das Makro mit einigen grundlegenden Code:

On Error GoTo EndMacroApplication.ScreenUpdating = FalseApplication.Calculation = XlCalculationManual

Set Bereich = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

Application.StatusBar = "Processing-Zeile:" & Format (Rng.Row, "#, ## 0")

Die erste Gruppe von Code weist das System an das Makro ausgeführt, wenn es zu Problemen führt. Die zweite Gruppe setzt die Bereichsvariable nach was auch immer der Benutzer ausgewählt hat.

6 Geben Sie den folgenden Code ein:

Count = 0Zeile = Range.Rows.Count mit 2 Schritt-1Wenn Zeile Mod 500 = 0 dann

Application.StatusBar = "Processing Row: " & Format(R, "#,##0")

EndIf

Vergleichen = Range.Cells (Zeile 1). Wert

Dadurch wird das System Schritt für Schritt durch jede vom Benutzer ausgewählte Zeile, und ändern Sie die Variable vergleichen dieser Zeile jedes Mal, wenn es bewegt sich auf.

7 Geben Sie als nächstes den folgenden Code:

Wenn V = VbNullString Then

If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then Rng.Rows(R).EntireRow.Delete N = N + 1 End If

Sonst

If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then Rng.Rows(R).EntireRow.Delete N = N + 1 End If

EndIf

Diese Aussagen sind diejenigen, die wirklich, das System der Compare-Variablen zur nächsten Zelle zu vergleichen und löschen Sie die Zeile sagen, wenn die beiden identisch sind.

8 Drücken Sie enter, um ein paar neue Zeilen einzufügen, und geben Sie dann in "Nächste Zeile". Dies weist das System an Hör auf die erste Zeile, und fahren Sie auf die nächste.

9 Schließen Sie die Funktion mit:

EndMacro:

Application.StatusBar = FalseApplication.ScreenUpdating = TrueApplication.Calculation = XlCalculationAutomaticMsgBox "doppelte Zeilen gelöscht:" & CStr(N)

EndSub

Diese letzten Zeilen mitteilen dem System, wie Sie die Unterroutine heraus zu schließen, und auch zeigen eine hilfreiche Meldungsfeld informiert den Benutzer, den das Makro tatsächlich tat was es tun sollte.

Verwendung des Makros

10 Speichern Sie die Kalkulationstabelle. Speichern Sie eine zweite, backup-Kopie vor dem mit dem Makro. Kopieren und fügen Sie die Datei in einen Sicherungsordner oder uns die Datei "Speichern unter", um die zweite Kopie speichern — Sie müssen schließen Sie Excel, und öffnen Sie es erneut.

11 Klicken Sie und ziehen Sie den Cursor um die wichtigste Säule der Daten. Dies ist die für die alle Einträge unterscheiden sollte — wie in, wenn alles richtig eingegeben wurde, hatte es wäre keine doppelten Einträge.

12 Öffnen Sie das Menü "Extras" und wählen Sie "Makros". Daraufhin wird das Dialogfeld Makros, erlaubt Ihnen zu wählen, und führen Sie das Makro.

13 Wählen Sie Ihr Makro; Wenn Sie das obige Beispiel verwendet haben, wird es "DelDuplicateR." aufgerufen werden Drücken Sie dann die Schaltfläche "Ausführen". Das Makro wird automatisch ausgeführt, und pop-up eine Meldung, dass die Duplikate gelöscht wurden.

Tipps & Warnungen

  • Dies funktioniert nur, wenn der Inhalt der beiden Zellen identisch sind. Es wird nicht funktionieren, wenn sie sogar geringfügig unterscheiden.
  • Makros können nicht mit dem Befehl "Rückgängig" unter dem Menü "Bearbeiten" oder STRG und Z sein. Bevor Sie die Makros verwenden, sollten Sie Ihre Daten zu verhindern, es ganz zu verlieren sichern.