Condividi:        

[Excel - Calc] Confrontare due file

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

Re: [Excel - Calc] Confrontare due file

Postdi POLESE » 19/11/12 16:24

Grazie per la solerte risposta, funziona benissimo, avrei la necessità di filtrare quelle che matchano in foglio 4 da quelle nuove che sono solo sul foglio 2 evidenziandole anche non colorandole ma con un riferimento qualsiasi.
Intanto io ci provo...... :)
Grazie ancora per la disponibilità
POLESE
Newbie
 
Post: 7
Iscritto il: 07/11/12 16:51

Sponsor
 

Re: [Excel - Calc] Confrontare due file

Postdi POLESE » 20/11/12 10:47

Carissimo Flash30005, ho notato che se sul foglio 1 inserisco una riga di dati in A2 es. Cognome e nome, indirizzo, cod. post., località, e sul foglio 2 gli stessi dati ma su A2-A3-A4-A5 quindi copiata più volte, ho una risposta lanciando la macro di questo tipo:
sul foglio 3 si evidenziano in giallo le righe vuote, quindi perfetto;
sul foglio 4 elenca il dato di A2 perchè presente sui due fogli 1 e 2, quindi perfetto;
in ultimo sempre sul foglio 4 l'elenco degli altri dati presenti sul foglio 2 e non presenti sul foglio 1 (quindi NUOVI) ma non EVIDENZIATI.
Perchè?
In attesa di una tua Ti ringrazio anticipatamente
POLESE
Newbie
 
Post: 7
Iscritto il: 07/11/12 16:51

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 20/11/12 13:03

I fogli 1 e 2 sono i dati originali e non modifico mai i dati originali (motivazione del tutto personale)
i fogli 3 e 4 invece sono quelli creati ogni volta nei quali evidenzio, modifico, etc

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 15/01/13 16:11

Buonasera a tutti,
sono nuovo qui, innanzitutto vi ringrazio per le preziosissime info che divulgate! semplificano di molto la vita lavorativa...
Sto cercando di settare la mia Macro ideale, per ora sto usando quella postata sotto che funziona perfettamente ma che vorrei perfezionare, in particolare:
:arrow: mi servirebbe che si colorasse la singola cella modificata tra il foglio 1 il 2 e non la riga intera;
:arrow: come mai se elimino una colonna in uno dei due fogli 1 o 2 nello sviluppo dei fogli 3 e 4 questi si colorano completamente? questo problema non si verifica se elimino una riga...
grazie in advance!


Sub ConfrontaEColora()
Set Ws1 = Worksheets("Foglio1") 'Elenco Utenti Infrataras
Set Ws2 = Worksheets("Foglio2") 'Elenco Utenti Enel gas
Set Ws3 = Worksheets("Foglio3") 'Utenti che non sono più nel Elenco Utenti Enel gas
Set Ws4 = Worksheets("Foglio4") 'Nuovi Utenti (non erano nel Elenco Utenti Infrataras)
Ws3.Cells.Clear
Ws4.Cells.Clear
Ws1.Cells.Copy Destination:=Ws3.Cells
Ws2.Cells.Copy Destination:=Ws4.Cells
URS = Ws1.Range("A" & Rows.Count).End(xlUp).Row '<<<< alias Foglio3
UCS = Ws1.Range("IV1").End(xlToLeft).Column
Ws3.Select
Ws3.Range(Cells(2, 1), Cells(URS, UCS)).Interior.ColorIndex = 4
URA = Ws2.Range("A" & Rows.Count).End(xlUp).Row '<<< alias Foglio4
Set Ws4 = Ws4
Ws4.Select
UCA = Ws2.Range("IV1").End(xlToLeft).Column
Ws4.Range(Ws4.Cells(2, 1), Ws4.Cells(URA, UCA)).Interior.ColorIndex = 6
For RS = 2 To URS
StrRS = ""
UCA = Ws1.Range("IV" & RS).End(xlToLeft).Column
For CS = 1 To UCA
StrRS = StrRS & Ws1.Cells(RS, CS).Value
Next CS
For RA = 2 To URA
StrRA = ""
For CS = 1 To UCA
StrRA = StrRA & Ws4.Cells(RA, CS).Value
Next CS
If StrRS = StrRA Then
Ws4.Range(Ws4.Cells(RA, 1), Ws4.Cells(RA, 30)).Interior.ColorIndex = 0
End If
Next RA
Next RS

For RA = 2 To URA
StrRA = ""
UCA = Ws2.Range("IV" & RA).End(xlToLeft).Column
For CS = 1 To UCA
StrRA = StrRA & Ws2.Cells(RA, CS).Value
Next CS
For RS = 2 To URS
StrRS = ""
For CS = 1 To UCA
StrRS = StrRS & Ws3.Cells(RS, CS).Value
Next CS
If StrRS = StrRA Then
Ws3.Range(Ws3.Cells(RS, 1), Ws3.Cells(RS, 30)).Interior.ColorIndex = 0
End If
Next RS
Next RA
End Sub
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 15/01/13 20:50

Ciao Lebasta e benvenuto nel Forum

Lo scopo della macro riguardava dei listini dove si doveva evidenziare tra due fogli le differenze relative ad un campo
es.: codice o denominazione o altro
e in funzione di questo campo venivano creati due fogli nei quali venivano riportate le righe differenti tra foglio1 e foglio2
creando due fogli: foglio3 e foglio4

Capisco che la tua esigenza è diversa e vorresti adattare la macro ma l'adattamento richiede più specifiche di quanto tu abbia dato es.:
qual'è la colonna che dovrà essere presa in considerazione per valutare la differenza?
Cosa c'è in questa colonna (testo, data, numero o altro)?


Per quanto riguarda la seconda domanda è subito spiegato da quanto ho detto su
se elimini una colonna viene sfalsato il riferimento e pertanto avrai tutte le righe evidenziate
mentre se elimini solo una riga sul foglio1 (o sul foglio2)
troverai nei foglio3 o foglio4 la differenza trovata al massimo di n righe eliminate nei fogli origine.

Ciao

P.s. per il tuo quesito è opportuno l'invio, da parte tua, di un file esempio seguendo la procedura indicata come informazione nella pagina iniziale di questa sessione ("Applicazioni Office Windows")
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 16/01/13 10:06

ciao Flash ti ringrazio x la celere risposta...
ammetto di aver scopiazzato dai post precedenti una macro e di averla applicata al mio caso, ma cmq ti dico che i parametri di riferimento sono quasi gli stessi in particolare mi serve confrontare due elenchi che contengono dati di Agenzie per verificare le eventuali variazioni che nel tempo sono intercorse( cancellazione agenzia, nuova apertura, modifica tel, indirizzo ecc...), i dati sono distribuiti in una ventina di colonne( dati, numeri,testo), le righe per ora sono circa 700...per farti capire:

COD AG NOME_AGENZIA TIPO DATA_CREAZIONE DATA_CESSAZIONE ZONA MANAGER_ZONA REGIONE

Le colonne da prendere in considerazione per valutare le differenze sono una ventina, si può creare una Macro ad hoc?
da lavoro non riesco a postare il file esempio, se non mi son fatto capire te lo posto da casa...
grazie
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 16/01/13 11:26

La macro dovrebbe funzionare anche per il tuo caso
l'unica differenza è che chiedi di evidenziare solo la variazione di celle e non l'intera riga
questo comporta una implementazione della macro stessa con notevole incremento del tempo di esecuzione
dovuta al controllo di ogni cella.
Penso sia opportuno avere il file sul quale lavorare e una specifica maggiore riguardo a quale celle si deve fare riferimento per il confronto (se non sono tutte).

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 16/01/13 19:43

ecco il file su cui opero Flash...

http://rapidshare.com/files/1537312658/ ... erali.xlsm

se il controllare le singole celle fino ad una determinata colonna non ingrippa la Macro proverei a colorare solo quella variata...
una domanda: ma se in un ipotetico foglio 2 in futuro da confrontare dovesse comparire una nuova colonna manda in crash tutto?
grazie
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 16/01/13 19:47

riguardo la tua ultima domanda: il campo d'azione della macro finisce alla colonna dell'indirizzo mail dell'agenzia, perchè ipoteticamente potrebbe variare anche quello...
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 16/01/13 20:28

Il link per il download non è valido, usa questo host

Per quanto riguarda il confronto è normale che lo schema dei dati deve essere identico sia per il foglio1 sia per il foglio2
Quindi se nel foglio 2 hai una sola colonna dovrai avere una sola colonna nel foglio1, intendo che quella macro è nata per quell'esigenza (per listini, potevi avere la possibilità di controllare se c'erano nuovi prodotti: foglio3, e prodotti non più disponibili: foglio4), poi è stata più volte adattata ma non credo possa essere valida per la tua esigenza.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 16/01/13 20:36

potresti aiutarmi a modicarla?
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 16/01/13 21:20

non mi sembra di averti negato l'aiuto
ti ho chiesto solo di inviare il file utilizzando un altro server host
solo dopo potrò vedere cosa fare

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 16/01/13 23:42

http://www.rimosso



EDIT Flash - Rimosso link perché presentava dati sensibili e privati non idonei ad essere divulgati
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 16/01/13 23:49

Ok, scaricato

ora dovresti dirmi quali sono le colonne da confrontare magari facendo un esempio di dati-riga uguali e diversi (per capire dove vorresti trovare la differenza).
Usa dei dati reali, del file che hai inviato riportando riferimenti precisi.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 17/01/13 10:24

ok flash...allora i dati dei fogli 1 e 2 che ti ho girato sono uguali, ma in futuro non lo saranno...mettiamo per ipotesi che cambi la cella G-9 (manager di zona) nel foglio 2 e la cella K-20( indirizzo) nel foglio 1...
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 17/01/13 10:49

Quindi?
Credo che abbia premuto l'invio del post prima che tu l'abbia completato :D

A parità di dati identici esistenti in una riga (tuo esempio riga 9) tranne che per la colonna G o K la macro dovrà evidenzierà questa riga?
Quali altre colonne dovranno essere confrontate?
Dovresti elencarmi tutte quelle necessarie

Ciao

N.B nel campo data (colonna D) noto date errate o formati diversi
01/12/1972
1862-10-01

E' normale?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 17/01/13 11:08

scusa forse non mi sono spiegato bene io...ti volevo dire di apportare tu le modifiche al file in G-9 e K-20 per fare i test.
cmq se i dati tra i due fogli sono uguali a me non serve evidenziare la cella, solo in caso cambi il valore della cella.
le colonne da confrontare sarebbero tutte dalla A alla T per tutte le 700 righe...poichè ipoteticamente potrebbe variare qualsiasi cella in questo spazio.
per quanto riguarda la colonna D in effetti ci sono formati diversi, ma purtroppo me la girano così :(... è un problema?
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi lebasta » 22/01/13 09:43

ciao Flash ci sono novità?
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 22/01/13 12:10

Avrei voluto fare qualcosa di più veloce e
sarebbe possibile (circa 1 minuto) se ci fosse almeno un dato che potremmo definire "fisso" (es.: Cod.Ag in Colonna A)
Se anche questo dato può essere variabile allora dovrai accontentarti di questa macro che impiega 3 minuti circa per controllare le 600 righe che hai nei due fogli

Codice: Seleziona tutto
Sub ConfrontaEColora()
Set Ws1 = Worksheets("Foglio1") 'Elenco Utenti Infrataras
Set Ws2 = Worksheets("Foglio2") 'Elenco Utenti Enel gas
Set Ws3 = Worksheets("Foglio3") 'Utenti  che non sono più nel Elenco Utenti Enel gas
Set Ws4 = Worksheets("Foglio4") 'Nuovi Utenti (non erano nel Elenco Utenti Infrataras)
Application.ScreenUpdating = False
Application.Calculation = xlManual

Ws3.Cells.Clear
Ws4.Cells.Clear
Ws1.Cells.Copy Destination:=Ws3.Cells
Ws2.Cells.Copy Destination:=Ws4.Cells
URS = Ws1.Range("A" & Rows.Count).End(xlUp).Row   '<<<< alias Foglio3
UCS = Ws1.Range("IV1").End(xlToLeft).Column
Ws3.Select
    Ws3.Range(Cells(2, 1), Cells(URS, UCS)).Interior.ColorIndex = 4
URA = Ws2.Range("A" & Rows.Count).End(xlUp).Row  '<<< alias Foglio4
Set Ws4 = Ws4
Ws4.Select
UCA = Ws2.Range("IV1").End(xlToLeft).Column
    Ws4.Range(Ws4.Cells(2, 1), Ws4.Cells(URA, UCA)).Interior.ColorIndex = 6
For RS = 2 To URS
    StrRS = ""
    UCA = Ws1.Range("IV" & RS).End(xlToLeft).Column
    For CS = 1 To UCA
        StrRS = StrRS & Ws1.Cells(RS, CS).Value
    Next CS
    For RA = 2 To URA
        StrRA = ""
        For CS = 1 To UCA
            StrRA = StrRA & Ws4.Cells(RA, CS).Value
        Next CS
        If StrRS = StrRA Then
            Ws4.Range(Ws4.Cells(RA, 1), Ws4.Cells(RA, 30)).Interior.ColorIndex = 0
            GoTo SaltaRS
        Else
            For CS = 1 To UCA
                If Ws1.Cells(RS, CS).Value = Ws4.Cells(RA, CS).Value Then Ws4.Cells(RA, CS).Interior.ColorIndex = 0
            Next CS
        End If
    Next RA
SaltaRS:
Next RS

For RA = 2 To URA
    StrRA = ""
    UCA = Ws2.Range("IV" & RA).End(xlToLeft).Column
    For CS = 1 To UCA
        StrRA = StrRA & Ws2.Cells(RA, CS).Value
    Next CS
    For RS = 2 To URS
        StrRS = ""
        For CS = 1 To UCA
            StrRS = StrRS & Ws3.Cells(RS, CS).Value
        Next CS
        If StrRS = StrRA Then
            Ws3.Range(Ws3.Cells(RS, 1), Ws3.Cells(RS, 30)).Interior.ColorIndex = 0
            GoTo SaltaRA
        Else
            For CS = 1 To UCA
                If Ws2.Cells(RA, CS).Value = Ws3.Cells(RS, CS).Value Then Ws3.Cells(RS, CS).Interior.ColorIndex = 0
            Next CS
        End If
    Next RS
SaltaRA:
Next RA
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Ciao

P.s. E' opportuno associare la macro a tasti di scelta rapida (Ctrl+m) invece che ad un "pulsante" per evitare che quest'ultimo, essendo sul foglio1, venga copiato anche sul foglio3
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel - Calc] Confrontare due file

Postdi Anthony47 » 23/01/13 01:06

Scusate la presunzione, ma se mi fate il riassunto delle puntate precedenti "forse" potrei aiutare ("forse" e' d' obbligo: non conoscendo il problema residuo non so se saro' capace di aiutare)

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

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel - Calc] Confrontare due file":


Chi c’è in linea

Visitano il forum: Marius44 e 59 ospiti