Valutazione 4.87/ 5 (100.00%) 5838 voti

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 lebasta » 23/01/13 09:25

ciao allora possiamo fissare la colonna C "tipo"...
ho testato la macro modificando delle celle, ma mi si colorano completamente le pagine 3 e 4...
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Sponsor
 

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 23/01/13 11:47

Non possono colorarsi i fogli 3 e 4

Allora per far intervenire anche Anthony, che potrà dare un valido apporto, invio il file con l'ultima macro in maniera tale da fare un "riassunto"
download file
I fogli 1 e 2 sono due elenchi (identica distribuzione dati) e i dati origine da confrontare
I fogli 3 e 4 sono fogli temporanei (vengono ricreati ogni volta) per mettere in evidenza (colorando il fondo cella) le differenze tra i due elenchi precedenti. In questo caso ho modificato una cella nel foglio1 e una cella nel foglio2 infatti sia nel foglio3 e foglio4 si notano queste variazioni in quanto le celle diverse hanno il fondo colorato.

Per quanto riguarda il prendere in considerazione la colonna C come dato "fisso" lo reputo alquanto inutile perché quei nomi si ripetono in più righe e non avremo una sensibile velocizzazione della macro mentre la colonna A (codici diversi) aiuterebbe a rendere il tutto più veloce, come è ora nel file che ho allegato.

Fate le prove e fatemi 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: [Excel - Calc] Confrontare due file

Postdi Anthony47 » 23/01/13 13:50

Ma ha senso preparare altri 2 fogli uguali ai primi due, solo per evidenziare qualche cella qua e la in un elenco che a visualizzarlo tutto ci vorranno una cinquantina di schermate? Non e' piu' semplice, lavorando su Foglio1 e Foglio2, creare in Foglio3 un elenco di discrepanze da risolvere?
Poi non mi e' chiaro con che regola si devono controllare "le differenze": e' corretto che l' informazione base e' costituita dalle celle An:Tn, in cui la "chiave" e' il "COD AG" (colonna A, che in effetti e' un valore univoco)? Per cui la logica e' che bisogna controllare se ogni CodAg di Foglio1 ha una corrispondenza in Foglio2 e che ogni cella della riga sia esattamente uguale tra i due fogli, evidenziando le discrepanze? Evidenziando cioe' sia celle diverse nella riga della stessa CodAg, che righe presenti in un foglio e non nell' altro.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 23/01/13 13:58

Il file nacque per estrapolare le differenze da un "ListinoOld" e "ListinoNew" per verificare articoli nuovi e articoli non più esistenti
poi fu implementato per vedere anche la differenza prezzo.
Lebasta ha utilizzato quella stessa macro per un'esigenza diversa e ha posto il quesito.
Io ho solo adattato

Sembra che anche il codice in colonna A (univoco) possa cambiare da oggi a domani :-?

Benvengano nuove soluzioni

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: [Excel - Calc] Confrontare due file

Postdi lebasta » 23/01/13 16:31

ciao ragazzi,
allora vi rispondo:
" Non e' piu' semplice, lavorando su Foglio1 e Foglio2, creare in Foglio3 un elenco di discrepanze da risolvere?"
a me va benissimo lo sviluppo solo nel foglio3 purchè si evidenzino nello stesso sia i cambiamenti delle singole celle( modifiche tel, indirizzo, ecc...) sia eventuali inserimenti nuove agenzie( e quindi la riga nuova intera)...

"Lebasta ha utilizzato quella stessa macro per un'esigenza diversa e ha posto il quesito"
in realtà flash l'esigenza è molto simile a quella per cui è stata creata la Macro, l'unica differenza è che avevo chiesto se era possibile evidenziare colorandola la singola cella cambiata nel foglio 2 e non l'intera riga...

"Sembra che anche il codice in colonna A (univoco) possa cambiare da oggi a domani"
Anthony il problema è che ipoteticamente tutte le colonne dalla A alla T possono cambiare( ad es. nuova agenzia creata con un cod in colonna A nuovo)...
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 23/01/13 20:15

Guarda che se aggiungi una nuova agenzia (intera riga) avrai l'intera riga evidenziata
e se cambia una singola cella di una preesistente si colorerà solo quella cella

Non vedo anomalie rispetto a ciò che chiedi
Il file inviato fa tutto ciò ma è solo un po' lento

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: [Excel - Calc] Confrontare due file

Postdi Anthony47 » 24/01/13 01:50

Ho lavorato su quanto trasmesso da Flash nell' ipotesi che il Codice Agenzia sia un codice univoco nell' organizzazione, arrivando a questo codice, da inserire in un nuovo modulo.
Codice: Seleziona tutto
Dim PArr, SArr, KArr, my2Ag, myKey As Long
Dim Primo As String, Secondo As String, Report As String, Lay0 As String

Sub myConfr()
'
Dim FreeCol As String
Dim LastP As Long, LastS As Long, LayLargh As Long
Dim I As Long, I2 As Long
'
'>>>Qualche parametro
Lay0 = "A2"         'L' inizio delle tabelle
LayLargh = 20       'La larghezza delle tabelle
'FreeCol = "Z"
Primo = "Foglio1"   'Il nome del primo Foglio
Secondo = "Foglio2" 'Il nome del secondo Foglio
Report = "Foglio5"  'Il nome del foglio su cui produrre il report <<VEDI TESTO
myKey = 1           'Quale colonna contiene il Codice Agenzia
'
With Sheets(Report).Cells
    .Clear
    .Font.Name = Sheets(Primo).Range(Lay0).Font.Name
    .Font.Size = Sheets(Primo).Range(Lay0).Font.Size
End With
'Calcoli preliminari
LastP = Sheets(Primo).Cells(Rows.Count, myKey).End(xlUp).Row
LastS = Sheets(Secondo).Cells(Rows.Count, myKey).End(xlUp).Row
PArr = Sheets(Primo).Range(Lay0).Resize(LastP, LayLargh).Value
SArr = Sheets(Secondo).Range(Lay0).Resize(LastS - Range(Lay0).Row + 1, LayLargh + 1).Value
KArr = Sheets(Secondo).Range(Lay0).Resize(LastP - Range(Lay0).Row + 1, 1).Value
'Confronta 1 con 2
For I = LBound(PArr, 1) To UBound(PArr, 1)
    If PArr(I, myKey) <> "" Then        'Ignora se Cod Agenzia vuoto
        my2Ag = Application.Match(PArr(I, myKey), KArr, 0)
        If IsError(my2Ag) Then
            Call MisP(I, 1)             'manca riga in SArr
        Else
            SArr(my2Ag, UBound(SArr, 2)) = SArr(my2Ag, UBound(SArr, 2)) + 1
            For I2 = LBound(PArr, 2) To UBound(PArr, 2)
                If PArr(I, I2) <> SArr(my2Ag, I2) Then
                    Call MisM(I, my2Ag) 'Mismatch tra celle
                    Exit For
                End If
            Next I2
        End If
    End If
Next I
'Check mark su ogni SArr
For I = LBound(SArr, 1) To UBound(SArr, 1)
    If SArr(I, myKey) <> "" Then
        If SArr(I, UBound(SArr, 2)) <> 1 Then
            Call MisS(I, 2)             'manca riga in PArr o MultiMark
        End If
    End If
Next I
'
End Sub

Sub MisP(RigaMiss, SorgArr As Long)
'Cod Ag in Primo ma mancante su Secondo
LastRep = Sheets(Report).Cells(Rows.Count, 3).End(xlUp).Row + 1
myHLink = Primo & "!" & Cells(RigaMiss + 2 - LBound(PArr, 1), 1).Address
With Sheets(Report)
    For I = LBound(PArr, 2) To UBound(PArr, 2)
        .Cells(LastRep, 3 + JJ) = PArr(RigaMiss, I)
        JJ = JJ + 1
    Next I
    .Cells(LastRep, 3).Resize(1, JJ + 1).Interior.Color = RGB(222, 111, 0)

'
'inserisci hyperlink
.Hyperlinks.Add Anchor:=.Cells(LastRep, SorgArr), Address:="", SubAddress:= _
        myHLink, TextToDisplay:="Vedi 1"
'
End With
End Sub

Sub MisS(RigaMiss, SorgArr As Long)
'Cod Ag in Secondo ma mancante su Primo
LastRep = Sheets(Report).Cells(Rows.Count, 3).End(xlUp).Row + 1
myHLink = Secondo & "!" & Cells(RigaMiss + 2 - LBound(PArr, 1), 1).Address
With Sheets(Report)
    For I = LBound(SArr, 2) To UBound(SArr, 2)
        .Cells(LastRep, 3 + JJ) = SArr(RigaMiss, I)
        JJ = JJ + 1
    Next I
    .Cells(LastRep, 3).Resize(1, JJ + 1).Interior.Color = RGB(111, 222, 0)
'
'inserisci hyperlink
.Hyperlinks.Add Anchor:=.Cells(LastRep, SorgArr), Address:="", SubAddress:= _
        myHLink, TextToDisplay:="Vedi 2"
'
End With
End Sub

Sub MisM(RigaP As Long, RigaS)
'mismatch di celle
LastRep = Sheets(Report).Cells(Rows.Count, 3).End(xlUp).Row + 1
With Sheets(Report)
JJ = 0
For I = LBound(PArr, 2) To UBound(PArr, 2)
    .Cells(LastRep, 3 + JJ) = PArr(RigaP, I) & Chr(10) & SArr(RigaS, I)
    .Cells(LastRep, 3 + JJ).ColumnWidth = Sheets(Primo).Cells(LastRep, 1 + JJ).ColumnWidth
    If PArr(RigaP, I) <> SArr(RigaS, I) Then
        .Cells(LastRep, 3 + JJ).Interior.Color = RGB(222, 222, 0)
    Else
        .Cells(LastRep, 3 + JJ).Interior.Color = xlNone
    End If
    JJ = JJ + 1
Next I
'inserisci hyperlinks
.Hyperlinks.Add Anchor:=.Cells(LastRep, 1), Address:="", SubAddress:= _
        Primo & "!" & Cells(RigaP + 2 - LBound(PArr, 1), 1).Address, TextToDisplay:="Vedi 1"
.Hyperlinks.Add Anchor:=.Cells(LastRep, 2), Address:="", SubAddress:= _
        Secondo & "!" & Cells(RigaS + 2 - LBound(PArr, 1), 1).Address, TextToDisplay:="Vedi 2"

End With
End Sub
La macro da eseguire e' la prima, myConfr.
Nella parte iniziale sono impostati una serie di parametri su cui sara' fatta l' elaborazione, vedi righe marcate con ">>>Qualche parametro" e relativi commenti.
Alcune note:
-il foglio in cui sara' prodotto (ho impostato Foglio5) il report DEVE GIA' ESISTERE, e SARA' CANCELLATO senza preavviso
-dopo l' ultima colonna da confrontare deve trovarsi una colonna VUOTA, che comunque non sara' usata
-il parametro myKey indica quale e' il numero di colonna, all' interno delle tabelle da confrontare, che contiene il codice univoco Cod Ag
-il layout delle colonne deve essere lo stesso
La macro creera' nel foglio di report un elenco di discrepanze; es celle diverse all' interno dei record della stessa agenzia (evidenza alla singola cella), oppure codici agenzia che esistono in una tabella ma non in un' altra (evidenza all' intera riga). Da questi record di report e' possibile usare un hyperlink per visionare i record di partenza.

Spero che quanto prodotto sia di qualche utilita'.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 24/01/13 10:31

Beh,
meglio di così...! ;)
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: [Excel - Calc] Confrontare due file

Postdi lebasta » 28/01/13 12:13

l'ho provato e và benissimo ragazzi!!! una chicca l'hyperlink per il collegamento...
l'unica cosa che ho notato è, come mai nel report si evidenzia completamente la colonna K ? ("DI Per. ALESSANDRO
DI GAETANO Per. ALESSANDRO")
ciao
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 28/01/13 12:56

Non si evidenzia nulla se non è cambiato il dato
nel mio file, con la macro di Anthony, è tutto regolare
puoi provare tu stesso scaricando questo file

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: [Excel - Calc] Confrontare due file

Postdi lebasta » 20/03/13 15:53

ciao ragazzi a distanza di mesi continuo a stressarvi con sta Macro, :)
il problema che è sorto è questo:
il confronto tra i due fogli finisce alla colonna "U" del Fax, non arriva alla colonna "V" dove sono indicate le E-mail...
cosa significa: " LayLargh = 20 'La larghezza delle tabelle" ? te lo chiedo poichè ho un problema con questo comando"' Cod Ag in Secondo ma mancante su Primo", nello sviluppo mi ricompare pari pari tutto il secondo foglio...perché? può essere per il diverso layout?
grazie infinite
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 20/03/13 16:51

In effetti LayLargh = 20 significa fino alla colonna T
porta a 21 o superiore questo valore se la tabella è maggiore

Comunque, se hai layout diversi non potrai mai confrontarli e... mi sembra anche normale 8)

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: [Excel - Calc] Confrontare due file

Postdi lebasta » 20/03/13 17:02

Grandissimo Flash ho risolto
grazie
lebasta
Utente Junior
 
Post: 14
Iscritto il: 15/01/13 12:53

Re: [Excel - Calc] Confrontare due file

Postdi lib3ro1 » 12/10/13 11:52

Buongiorno a tutti.

Io ho un problema simile ma con una necessita' diversa.

Ho sempre due listini, ma dal confronto mi occorrerebbe sapere, le modifiche di prezzo a favore del listino piu nuovo. Stesso discorso anche per le quantita'.

Poi sempre dal confronto mi occorrerebbe segnare con un valore 0 i prodotti che sul vecchio erano presenti e sul nuovo no.
Con valore 1 tutti i prodotti che sono presenti sia sul vecchio che sul nuovo, ma con il discorso delle quantità e dei prezzi.
E in piu tutti i prodotti nuovi che sono presenti appunto sul nuovo listino e non sul vecchio...

é fattibile con una macro?
lib3ro1
Newbie
 
Post: 1
Iscritto il: 12/10/13 11:39

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 13/10/13 01:19

Ciao Lib3ro1 e benvenuto nel Forum
penso sia fattibile, magari adattando precedenti macro ma è necessario avere la disposizione dei dati dei due listini o, meglio, il file stesso
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: [Excel - Calc] Confrontare due file

Postdi Daniele75 » 23/05/15 11:26

Flash30005 ha scritto:Mi domandavo perché colorare le righe e non lasciare solo le righe interessate? es.
foglio3 solo quelle che erano nel vecchio catalogo e non più nel nuovo
foglio4 solo prodotti che sono stati aggiunti nel nuovo
(queste righe potrebbero tornare utili per ulteriori utilizzi)
allora ho creato una macro che ha questa funzione
Codice: Seleziona tutto
Sub Confronta()
' Foglio1 Vecchio Catalogo
' Foglio2 Nuovo Catalogo
' Foglio3 Prodotti che non sono più nel nuovo catalogo
' Foglio4 Nuovi prodotti (non erano nel vecchio catalogo)
Call CopiaF
URS = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row   '<<<< alias Foglio3
URA = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row  '<<< alias Foglio4
For RS = 2 To URS
    For RA = URA To 2 Step -1
        If Worksheets("Foglio1").Cells(RS, 1).Value = Worksheets("Foglio4").Cells(RA, 1).Value Then Worksheets("Foglio4").Rows(RA & ":" & RA).Delete
    Next RA
Next RS
For RA = 2 To URA
    For RS = URS To 2 Step -1
        If Worksheets("Foglio2").Cells(RA, 1).Value = Worksheets("Foglio3").Cells(RS, 1).Value Then Worksheets("Foglio3").Rows(RS & ":" & RS).Delete
    Next RS
Next RA
End Sub
Sub CopiaF()
    Sheets("Foglio3").Select
    Cells.Select
    Selection.Clear
    Range("D10").Select
    Sheets("Foglio4").Select
    Cells.Select
    Selection.Clear
    Range("A1").Select
    Sheets("Foglio1").Select
    Cells.Select
    Selection.Copy
    Sheets("Foglio3").Select
    Cells.Select
    ActiveSheet.Paste
    Range("A1").Select
    Sheets("Foglio2").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Foglio4").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Sheets("Foglio3").Select
End Sub


Se intendi colorarle allora puoi usare questa macro (la macro CopiaF è sempre necessaria)
Codice: Seleziona tutto
Sub ConfrontaEColora()
' Foglio1 Vecchio Catalogo
' Foglio2 Nuovo Catalogo
' Foglio3 Prodotti che non sono più nel nuovo catalogo
' Foglio4 Nuovi prodotti (non erano nel vecchio catalogo)
Call CopiaF
URS = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row   '<<<< alias Foglio3
UCS = Worksheets("Foglio1").Range("IV2").End(xlToLeft).Column
Worksheets("Foglio3").Select
    Worksheets("Foglio3").Range(Cells(2, 1), Cells(URS, UCS)).Interior.ColorIndex = 44
URA = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row  '<<< alias Foglio4
UCA = Worksheets("Foglio2").Range("IV2").End(xlToLeft).Column
Worksheets("Foglio4").Select
    Worksheets("Foglio4").Range(Cells(2, 1), Cells(URA, UCA)).Interior.ColorIndex = 6
For RS = 2 To URS
    For RA = URA To 2 Step -1
        If Worksheets("Foglio1").Cells(RS, 1).Value = Worksheets("Foglio4").Cells(RA, 1).Value Then Worksheets("Foglio4").Rows(RA & ":" & RA).Interior.ColorIndex = 0
    Next RA
Next RS
For RA = 2 To URA
    For RS = URS To 2 Step -1
        If Worksheets("Foglio2").Cells(RA, 1).Value = Worksheets("Foglio3").Cells(RS, 1).Value Then Worksheets("Foglio3").Rows(RS & ":" & RS).Interior.ColorIndex = 0
    Next RS
Next RA
End Sub


Ambedue le macro prevedono una testata nella riga 1 che non verrà processata
e fanno il confronto solo prendendo in esame il valore nella colonna A (suppongo Codice Prodotto), oltre a poter variare la colonna di confronto puoi aggiungere ulteriori condizioni (altre colonne) affinché il valore di confronto diventi univoco.

Fai sapere
Ciao


Ciao. Questo sistema funziona benissimo, ma ho pensato di inserirmi qui perchè ho necessità di qualcosa di simile ma "snellito". Faccio l'esempio pratico:
In Foglio1 carico il mio database articoli generato ieri mattina.
In Foglio2 quello di stamattina (ogni giorno i record vengono ordinati in maniera incomprensibilmente diversa, non so perchè)
Tenendo presente che non viene MAI eliminata nessuna riga, ma solo aggiunte righe nuove, in Foglio3 vorrei le righe che sono state aggiunte durante tutta la giornata di ieri (in ordine sparso)
Praticamente il controllo sugli articoli vecchi non più inseriti nel nuovo database darebbe come risultato sempre un foglio vuoto, per questo dico che è inutile.
Grazie :)
Daniele75
Newbie
 
Post: 4
Iscritto il: 23/05/15 08:10

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 25/05/15 02:36

Ciao Daniele75 e benvenuto nel Forum

La tua sembrerebbe più una constatazione che una richiesta.
Leggendo attentamente sembrerebbe che non occorra nemmeno il foglio4
ma solo il foglio database e il foglio con articoli odierni
e occorra solo incrementare il foglio database con i nuovi articoli e riordinarlo.
Ho interpretato bene la tua richiesta?
In ogni caso sarebbe opportuno l'invio del file seguendo questa procedura

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: [Excel - Calc] Confrontare due file

Postdi Daniele75 » 25/05/15 07:48

Ciao a tutti e buon lunedì :)
No, non è una constatazione, proverò a spiegarmi meglio.
C'è un database con gli articoli presenti in magazzino, e ogni giorno ne vengono aggiunti di nuovi.
Quindi io ogni mattina ho pensato di aprire il database generato ieri alle 08:00 e incollarlo in Foglio1, e aprire quello generato oggi alle 08:00 in Foglio2. E avviare una macro in modo che in Foglio3 mi appaiano solo gli articoli generati durante la giornata di ieri, che in si trovano in Foglio2 ma sparsi, all'interno di 130000 righe (tanti sono gli articoli, e quindi i record da processare). Allego il file excel di prova, in cui non ho inserito i record, ma solo i campi nella colonna A (che peraltro sono chiavi univoche). Spero di essere stato più chiaro. Grazie e buona giornata.
PS ecco il link per il download:
http://www.filedropper.com/prova_2
Daniele75
Newbie
 
Post: 4
Iscritto il: 23/05/15 08:10

Re: [Excel - Calc] Confrontare due file

Postdi Flash30005 » 25/05/15 21:54

Penso che questa macro possa andare bene
Codice: Seleziona tutto
Sub TrascriviNuovi()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Dim FA As Worksheet
Dim FB As Worksheet
Dim FC As Worksheet
Dim myMatch
Set FA = Sheets("Foglio1")
Set FB = Sheets("Foglio2")
Set FC = Sheets("Foglio3")
FC.Cells.Clear
UR1 = FA.Range("A" & Rows.Count).End(xlUp).Row
UR2 = FB.Range("A" & Rows.Count).End(xlUp).Row
For RR2 = 1 To UR2
    myMatch = Application.Match(FB.Range("A" & RR2), FA.Range("A1:A" & UR1), 0)
    If Not IsError(myMatch) Then
    Else
    UR3 = FC.Range("A" & Rows.Count).End(xlUp).Row + 1
            FB.Rows(RR2).Copy Destination:=FC.Rows(UR3)
    End If
    Next RR2
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub


Non capisco il motivo per il quale, nell'esempio, hai riportato "giovanni" nel foglio3

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: [Excel - Calc] Confrontare due file

Postdi Daniele75 » 26/05/15 08:51

Ciao Flash, e ciao a tutti.
"giovanni" era stato riportato per errore, nell'esempio, scusami :-?
La macro funziona benissimo, sei un mago :)
Complimenti e grazie ancora, a risentirci ;)
Daniele75
Newbie
 
Post: 4
Iscritto il: 23/05/15 08:10

Precedente

Torna a Applicazioni Office Windows


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


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti