Come eliminare le righe duplicate in Excel con VBA

In questo articolo impareremo a eliminare le righe duplicate in Excel con VBA. VBA ci dà l’opportunità di eseguire qualsiasi attività in base a delle condizioni. A volte, quando scarichiamo o copiamo un set di dati nella nostra cartella di lavoro, possono esserci molte righe duplicate. Queste righe duplicate possono produrre errori o generare problemi nell’esecuzione di attività diverse. Quindi, a volte dobbiamo eliminare queste righe duplicate. Oggi proveremo a eliminare le righe duplicate in Excel utilizzando VBA.

4 modi per eliminare le righe duplicate in Excel con VBA

Per spiegare questi metodi, utilizzeremo un set di dati che contiene informazioni sul reparto, l’orario di lavoro e lo stipendio di alcuni dipendenti. Nel nostro set di dati avremo due set di righe duplicate. La riga 9 è un duplicato della riga 5. E la riga 7 è un duplicato della riga 6.

Dati di esempio

 

1) Eliminare righe in base al valore di una o più specifiche colonne

In questo primo metodo, elimineremo le righe duplicate in base al valore presente in una colonna con VBA. Abbiamo evidenziato le righe duplicate di seguito.

Eliminare righe identiche con intestazioni

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Qui, abbiamo selezionato l’intervallo del nostro set di dati utilizzando Range(“B4:E12”) poiché il nostro set di dati va dalla cella B4 a E12. Quindi abbiamo utilizzato RemoveDuplicates e selezionato la colonna con Array(). Array(1) indica la prima colonna del nostro set di dati, vale a dire la colonna Dipendente. Header:=xlYes indica che il set di dati ha intestazioni.

Il risultato è il seguente:

Rimuovere righe duplicate in base al valore di una colonna

Nel caso avessimo voluto eliminare delle righe in base al valore della seconda colonna, il codice sarebbe stato il seguente:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Qui, abbiamo scritto Array(2) invece di Array(1). Questo indica la seconda colonna del nostro set di dati. La seconda colonna del nostro set di dati è la colonna Reparto.

Il risultato sarebbe stato il seguente:

Rimuovere righe duplicate in Excel con VBA

 

Nel caso il nostro set di dati fosse privo di intestazioni come questo:

Rimuove righe duplicate senza intestazioni

 

l’unica parte di codice che cambierebbe sarebbe Header:=xlNo al posto di Header:=xlYes

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Se le colonne da valutare al fine di identificare le righe duplicate fossero più di una, è sufficiente aggiungere il numero di tali colonne all’interno di Array():

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

2) Eliminare righe da una Tabella in base al valore di una colonna

A volte, abbiamo righe duplicate in una tabella e dobbiamo eliminarle. Possiamo usare anche qui VBA per risolvere facilmente questo problema. Per fare ciò, abbiamo convertito il nostro set di dati precedente in una tabella di Excel. Elimineremo le righe duplicate da questa tabella.

Rimuovere righe duplicate da una tabella

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Qui, devi scrivere il nome della tabella all’interno di ListObjects(). Il nome della nostra tabella è Tabella2.

 

3) Eliminare righe duplicate in base al valore di una colonna in cui il numero di righe totali è sconosciuto

Per rimuovere dal set di dati le righe duplicate, in base al valore di una colonna, quando il numero di record che compongono i dati è sconosciuto, puoi usare il seguente codice:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

4) Eliminare righe duplicate in base al valore di tutte le colonne

Se le colonne da valutare al fine di identificare le righe duplicate fossero tutte quelle presenti nel set di dati (questo è il comportamento standard del comando Rimuovi duplicati di Excel), il codice sarebbe il seguente:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , , , , ,

Ti è stato utile?