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.