confronto dati tra due colonne



  • confronto dati tra due colonne
    di nichicanta data: 10/06/2014 15:24:05

    Buon pomeriggio Amici, ho creato il codice (nel file che allego e che si chiama PROVA) che confronta i dati tra due colonne in un range di 8000 celle(questo è il numero reale da analizzare) e nel caso in cui, alcuni dati sono diversi e/o assenti nella colonna ( B) questi devono essere trasferiti dalla colonna A alla B ( in corrisppondenza della stessa riga).
    Ho il codice che va in blocco continuamente, penso che sia dovuto ai cicli for, molto lenti e che bloccano l'esecuzione del codice, data la mole di dati da controllare.
    Mi dareste una mano, per favore, a creare un codice più veloce e funzionale per la mia esigenza,magari facendomi capire il motivo delle scelta fatta.
    Vi ringrazio anticipatamente per il vostro aiuto.



  • di Lucas87 data: 10/06/2014 15:41:12

    Ciao
    Il codice non ha molto senso...anzi in realtà non fa nulla se non ricopiare la colonna A sulla colonna B
    ....in effetti hai scritto tu "nel caso in cui, alcuni dati sono diversi e/o assenti nella colonna ( B) questi devono essere trasferiti dalla colonna A alla B"...quindi copiare A su B.

    Spiega meglio che cosa ti serve....



  • di nichicanta data: 10/06/2014 15:52:30

    Ciao Lucas87, grazie innanzitutto per la tua attenzione, in pratica, devo aggiornare i dati tra due colonne che variano mensilmente, in alcuni casi nelle due colonne i dati restano uguali.
    Il codice dovrebbe fare questo: confrontare i dati tra le due colonne, sostituirli e aggiornarli nella colonna B, in modo da ottenere gli stessi risultati nelle due colonne.



  • di nichicanta data: 10/06/2014 16:03:22

    Lucas87, ti dico che nella colonna B i dati da confrontare con quelli della colonna A sono posizionati in celle diverse non allineate ', cioè se "nicola" è presente nella cella A1, lo stesso nome si trova nella cella B2500.
    In questo caso trovata la corrispondenza tra la colona A e B il dato si deve allineare nella cella B1 rimanendo nella stessa riga ( A1 e B1 che visualizzano "nicola").
    Spero di essere stato chiaro.



  • di Lucas87 data: 10/06/2014 16:14:22

    Forse comincio a capire...o forse no
    Tu vuoi cercare i nomi della colonna A nella colonna B, dove si trovano in ordine diverso, e scriverli nell'ordine corretto; presumo che se il nome non esiste venga aggiungo.
    Ma alla fine ottieni una copia della colonna A sulla colonna B
    Columns(2) = Columns(1).Value
    non è sufficiente?

    Forse in B ci sono dei nomi non presenti in A? In quel caso avrebbe senso
    I nomi possono ripetersi, ovvero in B "nicola" può essere presente più volte



  • di nichicanta data: 10/06/2014 16:18:06

    esatto, in questo: nella colonna B i nomi si possono ripetere e devono essere riportati univocamente e dopo questo controllo in realtà avverrebbe una copia della colonna A nella B.
    Credo si semplice ma non so come risolverlo tramite codice vba.



  • di nichicanta data: 10/06/2014 16:20:21

    Si verifica pure questo che tu hai ipotizzato e cioè: forse in B ci sono dei nomi non presenti in A, esatto in B non ci sono nomi presenti in A.



  • di Lucas87 data: 10/06/2014 16:39:34

    Scusa ma mi hai messo parecchia confusione
    Allego un file (Dubbio - Lucas87.xls) per capire se è quello che hai richiesto.



  • di nichicanta data: 10/06/2014 16:43:44

    esatto Lucas87, il risultato ottenuto è quello che tu hai indicato nel file allegato ( ricordati dei dati univoci e non ripetuti riportati solo nella colonna B).