021. Individuare duplicati

Download PDF

Domanda:

Buongiorno a tutti, avrei bisogno del vostro aiuto se possibile.
io ho una colonna excel piena di codici alfanumerici, questa colonna è in costante aggiornamaento perchè ogni giorno vengo inseriti alcuni codici.
io avrei bisogno di un modo per sapere e evidenziare se il codice che sto inserendo è già presente nell’elenco. non sono esperto in materia. ma per lavoro sto cercando di imparare a fare più cose possibili.

Risposta:

Il problema può essere risolto in due modi:

a) Tramite codice VBA

Public Sub VerificaDuplicati()

Last_Row = Sheet1.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Range(Cells(2, 1), Cells(Last_Row, 1)).Interior.Pattern = xlNone

For i = Last_Row To 2 Step -1     

Conteggio = Application.WorksheetFunction.CountIf(Columns(1), Sheet1.Cells(i, 1))     

If Conteggio > 1 Then        
   Sheet1.Cells(i, 1).Interior.Color = 255     
End If Next i

End Sub

1) Con “Last_Row” identifico l’ultima riga non vuota del foglio che contiene i dati.
2) Identifico tutto il range contenente i codici “Range(Cells(2, 1), Cells(Last_Row, 1))”
e per esso imposto nessun colore di riempimento “.Interior.Pattern = xlNone”
3) Ciclo dall’ultima alla seconda riga del range precedente
“For i = Last_Row To 2 Step -1 …. Next For”
E’ necessario impostare “Step -1” per ciclare dal basso all’alto
4) Per ogni cella analizzata dal ciclo valorizzo una variabile “Conteggio”
con il conteggio delle volte in cui appare il valore della cella analizzata
5) Se la variabile “Conteggio” assume un valore maggiore di 1,
il codice è presente più di una volta e quindi coloro la cella di rosso
“Sheet1.Cells(i, 1).Interior.Color = 255”

B) Utilizzando la formattazione condizionale

Questo è il file d’esempio con le due soluzioni:

VerificaDuplicati

Riccardo Vincenti

The following two tabs change content below.