Prova cosi':Originariamente inviato da ste-linux
Deve controllare tutte le righe e cancellare quelle uguali in questo modo:
riga1: ciao
riga2: ciao (cancella)
riga3: ciao (cancella)
riga4: cane
riga5: gatto
riga6: gatto (cancella)
riga7: mare
non devo avere righe con lo stesso contenuto!
Grazie
Ovviamente e' da adattare alle tue esigenze, tieni conto che cosi':codice:Sub EliminaRigheDoppie() Dim i&, j&, ULTIMA&, PRIMA&, COL% COL = 1 'la colonna su cui eseguire il confronto PRIMA = 1 'questa e' la riga da cui iniziare a cercare i = PRIMA Do 'ora cerca l'ultima riga significativa (cioe' <> "") If Cells(i, COL) = "" Then ULTIMA = i - 1: Exit Do i = i + 1 Loop i = PRIMA 'confrontiamo questa riga.... Do j = ULTIMA 'con tutte le successive, partendo dal fondo Do If Cells(i, COL) = Cells(j, COL) Then 'sono uguali, seleziona l'intera riga ed eliminala ! Rows(j).Select Selection.Delete Shift:=xlUp ULTIMA = ULTIMA - 1 'abbiamo eliminato una riga End If j = j - 1 Loop Until j <= i i = i + 1 Loop Until i >= ULTIMA End Sub
- determina l'ultima riga su cui intervenire in base alla prima riga vuota;
- il confronto tra righe viene fatto solo sul contenuto di una colonna, e sulla base della perfetta uguaglianza tra i contenuti ("cane" e "Cane" qui sono considerati diversi)
......
Ciao !![]()

