Come eliminare le righe duplicate in Excel Utilizzando VBA

December 11

Come eliminare le righe duplicate in Excel Utilizzando VBA


Alcuni fogli sono utilizzati e aggiornati molto. Questi spesso sono pieni di dati che si ripete più volte. Ci sono modi per trovare e cancellare le righe che contengono che i dati duplicati, ma uno dei modi più semplici ed automatici per farlo è con una macro di Visual Basic. Excel contiene una domanda di programmazione chiamato Excel VBA, che può essere usato per fare un qualsiasi numero di macro-pezzi di codice progettato per fare un lavoro personalizzato ogni volta convocato.

istruzione

La programmazione del Macro

1 Aprire il foglio di calcolo in Excel e aprire il vostro editor VBA premendo Alt e il tasto F11 sul computer.

2 Avviare un nuovo progetto facendo clic destro la cartella di lavoro nel menu di destra e scegliendo l'opzione "Nuovo".

3 Avviare la nuova funzione con "DeleteDuplicateRows Sub ()." Questo informa il compilatore VBA che c'è una nuova subroutine che dovrebbe essere a conoscenza.

4 Creare le variabili con il seguente codice:

Riga Dim As Long
Dim Count As Long
Dim Confronta As Variant
Dim Gamma come gamma

Questo dice al sistema di mettere da parte le quattro variabili (Row, Count, di confronto e Range) da utilizzare nel codice. È possibile utilizzare qualunque nome variabile più senso per voi, ma ricordate di cambiarle nel codice successivamente.

5 Impostare la macro con un po 'di codice più fondamentale:

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

Impostare intervallo = Application.Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

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

Il primo gruppo di codice dice al sistema per eseguire la macro se si imbatte in problemi. Il secondo gruppo imposta la variabile gamma in base a tutto ciò che l'utente ha selezionato.

6 Digitare il seguente codice:

Count = 0
Per Row = Range.Rows.Count Per 2 Fase -1
Se Row Mod 500 = 0 Then

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

Finisci se

Confronto = Range.Cells (Riga, 1) .Value

Questo indica al sistema per scorrere ciascuna delle righe selezionate dall'utente, e cambiare la Compare variabile per quella riga ogni volta che passa.

7 Inserire il seguente codice successivo:

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

Queste dichiarazioni sono quelli che effettivamente dire al sistema di confrontare la variabile Confronta alla cella successiva ed eliminare la riga se i due sono la stessa cosa.

8 Premere Invio per inserire un paio di nuove linee, e quindi digitare in "Riga successiva". Questo dice al sistema di smettere di guardare la prima fila, e passare alla successiva.

9 Chiudere la funzione con:

endmacro:

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

End Sub

Queste linee finali indicano al sistema come chiudere la subroutine, e anche per visualizzare una finestra di messaggio utile che informa l'utente che il Macro in realtà ha fatto quello che doveva fare.

Utilizzando la macro

10 Salvare il foglio di calcolo. Salvare un secondo, copia di backup prima di utilizzare il Macro. Copiare e incollare il file in una cartella di backup, oppure il "Salva con nome" file per salvare la seconda copia-è necessario chiudere Excel e riaprirlo.

11 Fare clic e trascinare il cursore attorno alla colonna più importante di dati. Questo è quello per cui tutte le voci dovrebbero differiscono, come in, se tutto fosse stato inserito correttamente, non ci sarebbe alcun voci duplicate.

12 Aprire il menu "Strumenti" e selezionare "Macro". Si apre la finestra di dialogo macro, che consente di scegliere ed eseguire la macro.

13 Selezionare la macro; se è stato utilizzato l'esempio precedente, si chiamerà "DelDuplicateR." Quindi premere il pulsante "Esegui". La macro verrà eseguito automaticamente, e pop-up un messaggio che indica che i duplicati sono stati cancellati.

Consigli e avvertenze

  • Questo funziona solo se il contenuto delle due celle sono esattamente gli stessi. Non funzionerà se differiscono da anche una piccola quantità.
  • Le macro non possono essere annullate con il comando "Annulla" dal menu "Modifica" oppure Ctrl e Z. Prima di usare qualsiasi macro, è consigliabile eseguire il backup dei dati per evitare di perdere del tutto.