Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Aggiornare campi in un foglio

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

Aggiornare campi in un foglio

Postdi Gattuccio0 » 28/12/10 14:41

Buon giorno a tutti (sperando che abbiate trascorso buone feste).
Ho un File in Excell in cui nei vari fogli lavoro ho dei dati che provengono da varie liste.
I dati più aggiornati sono scritti in celle riempite con un colore che mi permette, a parità di dato, di capire quale dei due (o più) dati simili sia il più recente in modo da eliminare l'altro.

Al fine di eliminare quelli più obsoleti e meno aggiornati potrei fare un "Rimuovi duplicati" ma agendo così mi potrebbe eliminare anche gli ultimi inseriti (non sapendo con quale criterio il programma procede con l'eliminazione).

Vi allego il file con solo due campi (i cui nomi sono inventati e fittizi) http://rapidshare.com/files/439654729/PROVA1.zip

Come potete vedere le righe in questione hanno dati simili, ma a me interessa mantenere solo i dati nelle righe di colore verde in quanto più utile.

Esiste un metodo per eliminare automaticamente la riga NON colorata facendo eventualmente il controllo dei campi contenuti nelle colonne A, B, C, N?

Vi ringrazio anticipatamente.
Gattuccio0
Utente Senior
 
Post: 176
Iscritto il: 22/06/09 12:46

Sponsor
 

Re: Aggiornare campi in un foglio

Postdi Flash30005 » 29/12/10 08:46

Scusa Gattuccio ma mi sembra una ripetizione del controllo

Se dici che le celle uguali ma più recenti sono di colore verde è sufficiente cancellare le righe che non sono verdi e mi sembra inutile controllare anche le quattro celle da te elencate quindi una macro di questo tipo dovrebbe fare al acaso tuo

Codice: Seleziona tutto
Sub EliminaRigheNoCol()

UR = Range("A" & Rows.Count).End(xlUp).Row
For RR = UR To 2 Step -1
    If Range("A" & RR).Interior.ColorIndex <> 43 Then Rows(RR & ":" & RR).Delete Shift:=xlUp
    Next RR
End Sub


Attenzione questa macro cancellerà le righe non verdi del foglio attivo
altrimenti devi specificare nel codice il foglio ad ogni riferimento di cella es.:
Codice: Seleziona tutto
  If Worksheets("Foglio1").Range("A" & RR).Interior.ColorIndex <> 43
etc
etc

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Aggiornare campi in un foglio

Postdi Gattuccio0 » 29/12/10 11:22

[quote="Flash30005"]Scusa Gattuccio ma mi sembra una ripetizione del controllo

Se dici che le celle uguali ma più recenti sono di colore verde è sufficiente cancellare le righe che non sono verdi e mi sembra inutile controllare anche le quattro celle da te elencate quindi una macro di questo tipo dovrebbe fare al acaso tuo[quote="Flash30005"]

E' vero che basterebbe cancellare le celle non verdi...ma se ho dei fogli con 10.000 record, per cancellare, devo passarli tutti per vedere le righe che si ripetono.

Faccio la prova e vi faccio sapere.
Gattuccio0
Utente Senior
 
Post: 176
Iscritto il: 22/06/09 12:46

Re: Aggiornare campi in un foglio

Postdi Gattuccio0 » 29/12/10 11:37

Ho fatto la prova: cancella tutte le righe che non sono colorate...ma quindi cancella anche i records unici.
Gattuccio0
Utente Senior
 
Post: 176
Iscritto il: 22/06/09 12:46

Re: Aggiornare campi in un foglio

Postdi Flash30005 » 29/12/10 16:46

Si,
perché pensavo che avessi in ogni caso dei duplicati e quindi uno fosse di colore verde ma se non è così
prova questa macro
Codice: Seleziona tutto
Sub EliminaRigheNoCol()

UR = Range("A" & Rows.Count).End(xlUp).Row
For RR1 = 2 To UR - 1
 Riga1 = UCase(Range("A" & RR1).Text & Range("B" & RR1).Text & Range("C" & RR1).Text & Range("N" & RR1).Text)
For RR = UR To RR1 + 1 Step -1
 Riga2 = UCase(Range("A" & RR).Text & Range("B" & RR).Text & Range("C" & RR).Text & Range("N" & RR).Text)
If Riga2 = Riga1 And Range("A" & RR).Interior.ColorIndex <> 43 Then Rows(RR & ":" & RR).Delete Shift:=xlUp
    Next RR
    Next RR1
End Sub


Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Aggiornare campi in un foglio

Postdi Gattuccio0 » 03/01/11 11:42

...perfetto! Non che avessi dubbi ma...ogni volta che faccio partire una macro di Flash è come vivere l'attimo prima del goal di un'azione fantastica.

Buon anno e buon rientro a tutti.
Gattuccio0
Utente Senior
 
Post: 176
Iscritto il: 22/06/09 12:46


Torna a Applicazioni Office Windows


Topic correlati a "Aggiornare campi in un foglio":


Chi c’è in linea

Visitano il forum: ilPrincipito e 13 ospiti

cron