Condividi:        

Elimina Duplicati con colonna di confronto

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Elimina Duplicati con colonna di confronto

Postdi Omocaig » 27/08/15 14:00

Ciao, avrei bisogno di aiuto per completare la seguente macro:

La macro confronta il range B14:B20 del foglio Totale con il range variabile B del foglio Runimpo, non riesco a far si che la macro confronti le due colonne considerando entrambi i range variabili

A seguire il codice e il file allegato

http://www.filedropper.com/prova5

Codice: Seleziona tutto
Sub Elimina_Duplicati()
Dim iListCount As Integer
Dim iCtr As Integer
Application.ScreenUpdating = False

iListCount = Sheets("Runimpo").Cells(Rows.Count, "B").End(xlUp).Row

'fa il loop nel foglio totale e lo compara con la colonna B del foglio Runimpo
'For Each x In Sheets("Totale").Range("B14").End(xlUp)<--- Non funziona
 For Each x In Sheets("Totale").Range("B14:B20") '<---Funziona
   For iCtr = 13 To iListCount
      If x.Value = Sheets("Runimpo").Range("B" & iCtr).Value Then
         Sheets("Runimpo").Range("B" & iCtr).EntireRow.Delete (xlShiftUp)

         iCtr = iCtr + 1
      End If
   Next iCtr
Next
End Sub


Vi ringrazio molto !
Xp + Office 2016 Ita
Omocaig
Utente Junior
 
Post: 93
Iscritto il: 11/05/15 15:08

Sponsor
 

Re: Elimina Duplicati con colonna di confronto

Postdi wallace&gromit » 27/08/15 16:30

ci sono due errori di compilazione nella formulazione "Sheets("Totale").Range("B14").End(xlUp)":
- questa fa riferimento ad una sola cella
- la cella a cui fa riferimento è B13, perché da B14 va in su!

seguendo la sintassi che hai adottato per il foglio Runimpo puoi determinare in una variabile anche l'ultima riga del foglio totale e poi usarla per determinare il range:
Codice: Seleziona tutto
Sub Elimina_Duplicati()
Dim iListCount, jListCount As Integer
Dim iCtr As Integer
Application.ScreenUpdating = False

iListCount = Sheets("Runimpo").Cells(Rows.Count, "B").End(xlUp).Row
jListCount = Sheets("Totale").Cells(Rows.Count, "B").End(xlUp).Row

'fa il loop nel foglio totale e lo compara con la colonna B del foglio Runimpo
For Each x In Sheets("Totale").Range("B14:B" & jListCount)
   For iCtr = 13 To iListCount
      If x.Value = Sheets("Runimpo").Range("B" & iCtr).Value Then
         Sheets("Runimpo").Range("B" & iCtr).EntireRow.Delete (xlShiftUp)
         iCtr = iCtr + 1
      End If
   Next iCtr
Next
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Elimina Duplicati con colonna di confronto

Postdi Anthony47 » 28/08/15 00:26

Penso che invece di iCtr = iCtr + 1 dovrebbe essere iCtr = iCtr - 1

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19226
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Elimina Duplicati con colonna di confronto

Postdi Omocaig » 01/09/15 10:17

Grazie mille, funziona ! Mi spiegheresti meglio come mai hai usato "B14:B" nella stringa
Codice: Seleziona tutto
Sheets("Totale").Range("B14:B" & jListCount)
?

Grazie ancora !
Xp + Office 2016 Ita
Omocaig
Utente Junior
 
Post: 93
Iscritto il: 11/05/15 15:08

Re: Elimina Duplicati con colonna di confronto

Postdi wallace&gromit » 01/09/15 10:41

rispetto all'altro topic ([url]viewtopic.php?f=26&t=105316[/url]) in questo caso ho usato sempre il sistema di riferimento assoluto.
All'inizio della macro verifico qual'è l'ultima riga sui due fogli.
Poi, mentre "iListCount" varia di volta in volta, perché la lista si accorcia, jListCount rimane fisso e mi descrive il numero di riga dell'ultimo elemento.
Sapendo che il range parte da B14 e avendo calcolato l'ultima riga (mettiamo che sia per esempio la riga 20) scrivendo la variabile Range("B14:B" & jListCount) ottengo il Range("B14:B20")
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Elimina Duplicati con colonna di confronto

Postdi Omocaig » 01/09/15 11:09

Sei un grande ! Divento matto dietro a ste cose ! Grazie mille, veramente !
Xp + Office 2016 Ita
Omocaig
Utente Junior
 
Post: 93
Iscritto il: 11/05/15 15:08


Torna a Applicazioni Office Windows


Topic correlati a "Elimina Duplicati con colonna di confronto":


Chi c’è in linea

Visitano il forum: Nessuno e 110 ospiti