Hvordan slette like rader av VBA i Excel

Microsoft Visual Basic for Applications (VBA) er et brukervennlig programmeringsspråk som kan tilpasse Microsoft Office-produkter som Microsoft Excel. I stedet for å fordype gjennom et Excel-regneark for å identifisere dupliserte rader, kan en Excel makro identifisere eventuelle like rader. En Excel makro er en kort stykke VBA-kode som du kan kjøre direkte fra Visual Basic Editor.

Bruksanvisning

1 Velg kolonner med data som du ønsker å sammenligne for dupliserte rader. For eksempel, hvis du ønsker å sjekke kolonne A for dupliserte rader, klikk på "A."

2 Åpne VBE ved å trykke "Alt" og "F11" sammen på tastaturet. Dette åpner VBE vinduet.

3 Klikk på "Open" og klikk på "Module". Et tomt vindu åpnes i VBE.

4 Klipp og lim inn følgende kode inn i tomt vindu fra Trinn 3:

Public Sub DeleteDuplicateRows ()
'DeleteDuplicateRows

Dim R As Long
Dim N As Long
Dim V As Variant
Dim RNG As Range

På Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Sett RNG = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

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

N = 0
For R = Rng.Rows.Count Til to trinn -1
Hvis R Mod 500 = 0 Then

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

Slutt om

V = Rng.Cells (R, 1) .Value

Hvis V = vbNullString Deretter

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

Ellers

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

Slutt om
Neste R

EndMacro:

Application.StatusBar = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "like rader slettet:" & CSTR (N)

End Sub

5 Trykk "F5" for å kjøre prosedyren. Makroen vil kjøre og slette eventuelle like rader.

Hint

  • Denne makroen vil slette alle dupliserte rader i samme kolonne, med unntak av det laveste antallet posten. Lagre en kopi av dine data før du kjører makroen i tilfelle du ikke får de resultatene du var ventet.