Nwlapcug.com


Come eliminare le righe Duplicate in Excel utilizzando VBA



Alcuni fogli di calcolo sono utilizzati e molto aggiornati. Questi spesso sono pieni di dati che viene ripetuti più volte. Ci sono modi per trovare ed eliminare le righe che contengono i dati duplicati, ma uno dei modi più semplici e automatici per eseguire questa operazione è con una Macro di Visual Basic. Excel contiene un'applicazione per la programmazione chiamato VBA di Excel, che può essere usato per fare qualsiasi numero di macro — pezzi di codice progettato per fare un lavoro personalizzato ogni volta che convocato.

Istruzioni

Programmazione Macro

1

Aprire il foglio di calcolo in Excel e aprire l'editor di VBA premendo Alt e il tasto F11 sul tuo computer.

2

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

3

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

4

Creare le variabili con il codice riportato di seguito:

Dim Row As Long
Dim Count As Long
Dim Compare come variante
Dim Range As Range

Questo indica al sistema di mettere da parte le quattro variabili (riga, conteggio, confronto e gamma) da utilizzare nel codice. È possibile utilizzare qualunque sia i nomi delle variabili più senso per te, ma ricordatevi di cambiare loro il codice successivo.

5

Impostare la macro con qualche codice più di base:

Su errore GoTo EndMacro
Application. ScreenUpdating = False
Application.Calculation = xlCalculationManual

Imposta intervallo = Intersect (ActiveSheet.UsedRange, _

ActiveSheet.Columns(ActiveCell.Column))

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

Il primo gruppo di codice indica al sistema di eseguire la macro, se esegue in eventuali problemi. Il secondo gruppo imposta la variabile di intervallo secondo qualunque cosa l'utente ha selezionato.

6

Digitare il seguente codice:

Count = 0
Per riga = Range.Rows.Count To Step 2 -1
Se la riga Mod 500 = 0 quindi

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

End If

Confronta = Range.Cells (riga, 1). Valore

Questo indica al sistema di passaggio attraverso ciascuna delle righe selezionate dall'utente e modificare la variabile Compare in tale riga ogni volta che si sposta su.

7

Inserire il codice seguente successiva:

Se V = vbNullString quindi

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

End If

Queste dichiarazioni sono quelli che effettivamente dire al sistema di confrontare la variabile Compare alla cella successiva ed eliminare la riga, se i due sono uguali.

8

Premere INVIO per inserire un paio di nuove linee e quindi digitare "Riga successiva". Questo dice al sistema di smettere di guardare la prima riga e passare al successivo.

9

Chiudere la funzione con:

EndMacro:

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

End Sub

Queste ultime righe dire al sistema come chiudere la subroutine fuori e anche per visualizzare una finestra di messaggio utile informare l'utente che la Macro in realtà ha fatto quello che doveva per fare.

Utilizzando la Macro

10

Salvare il foglio di calcolo. Salvare una copia di backup, seconda prima di utilizzare la Macro. O copiare e incollare il file in una cartella di backup, o noi il file "Salva con nome" per salvare la seconda copia — sarà necessario chiudere Excel e riaprirlo.

11

Fare clic e trascinare il cursore intorno alla colonna più importante di dati. Questo è quello per il quale dovrebbero differire tutte le voci — come in, se tutto era stato inserito correttamente, non ci sarebbe alcun voci duplicate.

12

Aprire il menu "Strumenti" e selezionare "Macro". Verrà visualizzata la finestra di dialogo macro, che consente di scegliere ed eseguire la macro.

13

Selezionare la macro; Se è stato utilizzato nell'esempio precedente, verrà chiamato "DelDuplicateR." Quindi premere il pulsante "Esegui". La Macro verrà eseguito automaticamente e pop-up un messaggio che indica che sono stati eliminati i duplicati.

Consigli & Avvertenze

  • Questo funziona solo se il contenuto di due celle è esattamente gli stessi. Non funzionerà se si differenziano per anche una piccola quantità.
  • Le macro non possono essere annullate utilizzando il comando "Annulla" sotto il menu "Modifica" o Ctrl e Z. Prima di utilizzare qualsiasi macro, eseguire il backup dei dati per evitare di perderla completamente.