Confronto particolare



  • Confronto particolare
    di Andrea (utente non iscritto) data: 01/03/2016 18:25:41

    Ciao a tutti.
    Per prima cosa grazie per l'attenzione che mi stai dedicando.
    Sono un utente che ha un pò di dimestichezza con i fogli elettronici, ma sono di fronte ad un problema al quale non riesco a venire a capo.

    Ho esportato in un foglio elettronico gli articoli del mio magazzino.
    Il programma di contabilità che usavo prima, mi ha esportato automaticamente in vari file la lista articoli nella prima colonna, mentre nelle successive i vari valori sensibili.

    Per sintetizzare ho 10 fogli diversi in cui compare una colonna con gli articoli, nell'altra i valori di descrizione, listino, quantità ecc. tutto in tanti fogli diversi.

    Uno ad uno ho aperto i vari file e ho copiato correttamente tutte le varie colonne per avere tutto in un unico file;
    questo mi servirà in un secondo momento per l'importazione sul nuovo programma di contabilità.

    Il problema è il seguente: L'esportazione della lista "codici a barre" ha generato un file solo con gli articoli aventi codice a barre.
    volendo andare ad incollare la colonna "codici a barre" mi trovo con 18mila articoli e 13mila codici a barre.
    Per farmi capire meglio sono in questa situazione:

    Foglio 1 Foglio 2
    Col. A Col.A Col.B
    abaco abaco 1
    barca casa 3
    casa elica 5
    dado
    elica


    Esiste quindi un modo per confrontare le celle A1!Foglio1 e A1!Foglio2 e di conseguenza se VERO (alle condizioni di esatto confronto) inserire nella cella adiacente ad A1!foglio1 il valore della cella B1!foglio2 ?


    So per certo di non essere stato abbastanza chiaro per cui se necessitano ulteriori informazioni o delucidazioni non esitate a chiedere.

    Certo di un vostro contributo, ringrazio in anticipo.
    Andrea



  • di Marius44 data: 01/03/2016 19:16:16

    Ciao Andrea
    premesso che è sempre meglio allegare un file (senza dati sensibili) su cui poter lavorare, posto qui sotto una macro che paragona i valori della colonna A con quelli della colonna B e scrive uno 0 quando c'è corrispondenza. Prova, vista la tua dichiarata dimestichezza con Excel e VBA, ad adattarla alle tue esigenze. Penso proprio che possa fare al caso tuo.

    Fai sapere. Ciao,
    Mario
     
    Sub Confrontare2Colonne() 
    Dim rngA As Range 
    Dim rngB As Range 
    Set rngA = Range(Cells(1, "A"), Cells(Rows.Count, "A ").End(xlUp)) 
    Set rngB = Range(Cells(1, "B"), Cells(Rows.Count, "B ").End(xlUp)) 
    For Each cell In rngA 
    If Not IsError(Application.Match(cell.Value, rn gB, 0)) Then 
    Cells(cell.Row, "C").Value = 0 
    End If 
    Next 
    End Sub