Eliminare righe dup...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] Eliminare righe duplicate su foglio Excel

21 Post
3 Utenti
0 Reactions
238 Visualizzazioni
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

Salve a tutti. Sono nuovo nel forum e non sono un esperto di excel, anzi direi il contrario...
Ho questa esigenza. Ho creato un catalogo su un foglio Excel di tutti gli album musicali che ho in collezione (oltre 14000)
In questo catalogo sono memorizzati sia album su cd che in digitale. Sul foglio excel ho impostato le colonne per ogni campo: Artista - Titolo Album - Anno - Genere - Formato (cd o digitale)
Ora, per esigenze di spazio, ho dovuto trasformare una parte di cd, circa 3500, in musica digitale e quindi ho necessità di aggiornare il catalogo. Ovviamente vorrei evitare di farlo manualmente.
Solitamente aggiorno il catalogo estrapolando tutte le info dai file .cue degli album digitali e creo un csv in pochi secondi che poi importo e aggiungo nel folgio excel. La mia idea era quella di creare e importare un file csv con i dati dei 3500 cd trasformati e naturalmente mi troverò 3500 righe duplicate in più, con l'unica differenza che 3500 avrenno una colonna con indicato CD e altre 3500 con indicato DIGITAL
La mia esigenza è quindi quella di eliminare le 3500 righe duplicate che hanno però la scritta CD nell'apposita colonna e mantenere quelle che hanno la scritta DIGITAL.
C'è un sistema per farlo velocemente senza doversi mettere lì a farlo una per una? Spero di essere stato sufficientemente chiaro.
Grazie in anticipo

Versione di Excel
Sistema operativo
 
Postato : 29/10/2024 12:57
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

metti su un modulo questa

e lanciala

Sub cancella_vuote()
ur = Range("B" & Rows.Count).End(xlUp).Row
For v = ur To 1 Step -1
If Range("B" & v) = "CD" Then
Range("B" & v).Select
Selection.EntireRow.Delete
End If
Next v
End Sub

chiaramente la colonna B deve essere cambiata con l colonna che contiene CD

 
Postato : 29/10/2024 14:50
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

intanto grazie per la risposta. Come ho detto Excel non è il mio forte, quindi probabilmente mi mancano le basi per sapere cos'è e come fare un modulo.... 😀 
Ho cercato in rete come creare un modulo, ma il massimo del risultato è avere una maschera con i nome dei campi dove inserire i dati. Ma presumo non sia la via giusta.
Tra l'altro, non so se sia utile saperlo, CD appare anche su altre 3000 righe che però non devono sparire... Attendo ulteriori istruzioni for dummies.... Grazie ancora

 

 
Postato : 29/10/2024 17:29
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

servirebbe un file campione per capire

vediamo se indovino

elimina le righe con

Artista - Titolo Album - Anno - Genere

doppi e che abbia CD come formato

 

al limite si potrebbe prendere solo il titolo o crea problemi

 
Postato : 29/10/2024 18:56
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

nell'esempio qui sotto ho evidenziato due titoli che hanno il duplicato.
Vorrei eliminare in un solo colpo (o con almeno pochi passaggi) tutti i doppioni che hanno il formato CD.

 
Postato : 29/10/2024 19:09
Forum 4
(@reggio)
Post: 0
New Member
 

Ciao, non ti basta filtrare la colonna interessata, visualizzare solo "CD" e cancellare solo quelli?

Forse hai altre righe con "CD" che non vuoi cancellare?

 
Postato : 29/10/2024 19:37
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@reggio 

esatto, ci sono altri 3000 cd catalogati che devono rimanere.

 
Postato : 29/10/2024 19:44
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

se i dati sono in ordine così

https://www.dropbox.com/scl/fi/acsm5z49umqfpufbgq2a7/elimina.xlsm?rlkey=159whejeq2och6kqsup4p4q7j&dl=0

clicca sul pulsante

 

è un file con macro per aprirlo devo salvarlo

cliccare sull'icona con il dx......proprieta

e sbocca le macro

 

ATTENTO

CD sopra

DIGITAL sopra

 

 
Postato : 29/10/2024 21:10
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

genius!!! Credo sia proprio quello che mi serve. Sto facendo delle prove su una porzione di file, ma credo che ci siamo. Darò una conferma appena lo faccio col file vero e proprio di 14000 righe.
Ho seguito il tuo consiglio di avere le righe duplicate una sopra l'altra (con CD sopra e DIGITALE sotto) mettendo tutto in ordine di artista e di anno. Avevo provato a eseguire la macro senza mettere in ordine il foglio, ma ho visto che se le righe duplicate non sono adiacenti, la macro non sorte effetto. Ho anche fatto un'ulteriore prova modificando la macro, sostituendo "CD" con "CD (EP)" (che uso come sigla per i cd ep) e funziona. Così in due passaggi rimuovo sia gli uni che gli altri. 
A meno che ci sia un modo per eliminare sia le righe con CD che quelle con CD (EP) con un solo passaggio.
Per il momento, comunque, grazie mille.
Vi aggiorno sul risultato finale.

Questo post è stato modificato 4 mesi fa da rockberto
 
Postato : 29/10/2024 23:40
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

mi sono basato sull'immagine

se fossero sfalsate dovrei usare un conta.se()

per quello speravo nell'aiuto dei vbaisti (io faccio formule)

questa

If Cells(xl, 3) = Cells(xl + 1, 3) And Cells(xl, 7) = "CD" Then

diventa

If Cells(xl, 3) = Cells(xl + 1, 3) And Cells(xl, 7) = "CD" Or Cells(xl, 7) = "CD (EP)" Then

e ti elimina anche la seconda variabile

 
Postato : 29/10/2024 23:54
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

grazie.

domattina la provo. Per quanto riguarda le righe duplicate sfalzate, il problema lo risolvo mettendole in ordine per Artista-Data e ci aggiungo per sicurezza anche l'ordine alfabetico della colonna FORMATO (così CD viene sicuramente prima di DIGITAL). in fondo sono pochi secondi perchè excel li metta in ordine. Poi con la tua supermacro risolvo la cosa che più mi interessava.

Di nuovo grazie!!!

 
Postato : 30/10/2024 00:16
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

buongiorno. Ho fatto una prova sul file completo e ho notato che ad un certo punto la macro non esegue l'eliminazione. Ho visto che la cosa succede dopo la riga numero 10000. Nella macro ho visto che su una riga c'era C1:C10000, ho modificato con C20000 e ha funzionato. Era quello? Va bene la modifica fatta così?

grazie

 
Postato : 30/10/2024 11:23
Forum 1
(@rockberto)
Post: 0
New Member
Avviatore di Topic
 

aggiornamento.
Ulteriore prova. Ho aggiunto 10 titoli, ho lanciato la macro e guardando il numero di righe ne risultano 53 di meno anziché tornare al numero di partenza....

 
Postato : 30/10/2024 12:24
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

devi mettere un range maggiore delle righe che hai

ora vedo di modificarla perchè lo faccia da solo

 
Postato : 30/10/2024 14:54
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

sostituisci

Set xrg = Range("C1:C10000")

con

Set xrg = Range(Cells(1, 3), Cells(1, 3).End(xlDown))

 
Postato : 30/10/2024 15:11
Pagina 1 / 2
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download