Come eliminare le righe duplicate da VBA in Excel

August 11

Microsoft Visual Basic, Applications Edition (VBA) è un linguaggio di programmazione user-friendly in grado di personalizzare i prodotti di Microsoft Office come Microsoft Excel. Invece di studiando attentamente attraverso un foglio di calcolo di Excel per identificare le righe duplicate, una macro di Excel in grado di identificare eventuali righe duplicate. Una macro di Excel è un breve pezzo di codice VBA che è possibile eseguire direttamente dal Visual Basic Editor.

istruzione

1 Selezionare le colonne di dati che si desidera confrontare per righe duplicate. Ad esempio, se si desidera controllare la colonna A per le righe duplicate, cliccare su "A"

2 Aprire il VBE premendo "Alt" e "F11" insieme sulla tastiera. Questo apre la finestra VBE.

3 Fare clic su "Apri" quindi cliccare su "Modulo". Una finestra vuota si aprirà in VBE.

4 Tagliare e incollare il seguente codice nella finestra vuota dal punto 3:

DeleteDuplicateRows Public Sub ()
'DeleteDuplicateRows

Dim R As Long
Dim N As Long
Dim V As Variant
Dim Rng come gamma

On Error GoTo endmacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

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

ActiveSheet.Columns(ActiveCell.Column))

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

N = 0
Per R = Rng.Rows.Count Per 2 Fase -1
Se R Mod 500 = 0 Then

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

Finisci se

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

Se V = vbNullString Poi

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

Altro

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

Finisci se
Avanti R

endmacro:

Application.StatusBar = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "righe duplicate eliminate:" & CStr (N)

End Sub

5 Premere il tasto "F5" per eseguire la procedura. La macro verrà eseguito ed eliminare eventuali righe duplicate.

Consigli e avvertenze

  • Questa macro eliminare tutte le righe duplicate nella stessa colonna, tranne che per il più basso numero di record. Salvare una copia dei propri dati prima di eseguire la macro nel caso in cui non si ottengono i risultati che ti aspettavi.

Articoli Correlati