Bestimmte Tabellen verwendet werden, und aktualisiert eine Menge. Diese sind oft mit Daten , die mehrere Male wiederholt wird gefüllt . Es gibt Möglichkeiten zu finden und löschen Sie alle Zeilen, dass doppelte Daten enthalten , aber eine der einfachsten und automatische Möglichkeiten, dies zu tun ist mit einer Visual Basic- Makro . Excel enthält eine Anwendung für die Programmierung genannt Excel VBA , die verwendet werden, um eine beliebige Anzahl von Makros - Teile des Codes entwickelt, um eine individuelle Arbeit zu tun , wann immer beschworen machen kann. Things You
Microsoft Excel
brauchen anzeigen Weitere Anweisungen
Programmierung der Makro
1
Öffnen Sie Ihre Tabellenkalkulation in Excel und öffnen Sie Ihre VBA-Editor , indem Sie Alt und die F11-Taste auf Ihrem Computer.
2
starten Sie ein neues Projekt mit der rechten Maustaste auf Ihre Arbeitsmappe der rechten Seite des Menüs und die Auswahl der Option "Neu" .
3
starten Sie die neue Funktion mit "Sub DeleteDuplicateRows (). " Dies informiert den VBA -Compiler , dass es eine neue Subroutine , dass es bewusst sein sollten .
4
erstellen Sie die Variablen mit Mit dem folgenden Code :
Dim Row Wie LongDim Count Wie LongDim Wie VariantDim Reichweite Vergleichen As Range
Damit das System beiseite zu legen die vier Variablen (Row, Count , Vergleich und Range) zu bedienen in dem Code . Sie können unabhängig Variablennamen mehr Sinn machen , dann aber daran denken, sie in der späteren Code ändern
5
das Makro mit etwas mehr grundlegenden Code Set : .
On Error GoTo EndMacroApplication.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual
Set Bereich = Application.Intersect ( ActiveSheet.UsedRange , _ActiveSheet.Columns ( ActiveCell.Column ) ) Application.StatusBar = "Verarbeitung Reihe: " & Format ( Rng.Row , " #, # # 0")
die erste Gruppe der Code weist das System an das Makro ausführen , wenn sie in irgendwelche Probleme läuft . Die zweite Gruppe setzt den Bereich Variable nach , was der Benutzer ausgewählt hat
6
Typ in dem folgenden Code: .
Count = 0Für Row = Range.Rows.Count zu Schritt 2 Row - 1Wenn Mod 500 = 0 ThenApplication.StatusBar = "Verarbeitung Reihe: " & Format (R, " #, # # 0" ) End If
vergleichen = Range.Cells (Row, 1 ) . Wert
Damit das System durch jede der Zeilen, die vom Benutzer ausgewählt Schritt , und ändern Sie die Variable Vergleichen zu dieser Zeile jedes Mal geht es weiter .
7
Eingang der folgende Code next: .
Wenn V = vbNullString ThenIf Application.WorksheetFunction.CountIf ( Rng.Columns (1) , vbNullString )> 1 ThenRng.Rows (R) = N + EntireRow.DeleteN 1End IfElseIf Anwendung . WorksheetFunction.CountIf ( Rng.Columns (1) , V )> 1 ThenRng.Rows (R). EntireRow.DeleteN = N + 1End IfEnd Wenn
Diese Aussagen sind diejenigen, die sagen, eigentlich das System Vergleichen auf Vergleichen Variable zur nächsten Zelle und die Zeile löschen , wenn die beiden gleich sind.
8
enter ein paar neue Zeilen einfügen , und geben Sie dann "Next Row" . Damit das System nicht mehr Blick auf die erste Zeile , und gehen Sie zum nächsten
9
Schließen Sie die Funktion mit : .
EndMacro :
Anwendung . StatusBar = FalseApplication.ScreenUpdating = TrueApplication.Calculation = xlCalculationAutomaticMsgBox "Doppelte Zeilen gelöscht :" & CStr ( N)
End Sub