Allora, e' possibile che il risultato che cerchi si ottenga con questa macro, da inserire in un Modulo standard del vba (es Modulo1):
- Codice: Seleziona tutto
Sub NormaNomi()
For i = 5 To Cells(Rows.Count, 2).End(xlUp).Row '<<<1
If Cells(i, "B") = Cells(i - 1, "B") Then Cells(i, "C").Value = "-" '<<<2
Next i
End Sub
La riga marcata <<<1 va personalizzata con l'effettivo inizio della tabella, comunque >=2
La riga <<<2 inserisce un "-" sulle celle da cancellare; l'ho fatto per darti l'evidenza delle modifiche apportate al tuo elenco; se preferisci la cella vuota sostituisci la riga (dopo il collaudo) con
- Codice: Seleziona tutto
If Cells(i, "B") = Cells(i - 1, "B") Then Cells(i, "C").ClearContents '<<<2
Quanto a Mario Rossi e Rossi Mario, mi spiace, ma mi rifiuto di prendere in considerazione che siano voci duplicate, perche' questo apre la discussione sui doppi nomi, sui cognomi composti, sulle abbreviazioni, sui titoli e tutto il resto. Forse dovresti considerare l'uso di una chiave univoca, es il codice fiscale, la partita iva, anche il "codice cliente /fornitore" assegnato alla controparte.
Ciao