Confronto tabelle



  • Confronto tabelle
    di Max (utente non iscritto) data: 06/07/2009

    Ciao a tutti ho un grosso problema,
    in un foglio ho una colonna con dei nomi che possono essere anche ripetuti e un'altra colonna con gli stessi nomi ma ripetuti un numero diverso di volte con associati dei dati numerici nella colonna accanto...un esempio per capire meglio

    colonna a | colonna b | colonna c |
    pippo | pippo | 1 |
    pluto | pippo | 2 |
    pluto | pippo | 3 |
    topolino | pluto | 7 |
    topolino | topolino | 9 |
    tizio | topolino | 12 |
    /////// | topolino | 24 |
    //////// | tizio | 11 |
    /////// | tizio | 9 |

    il risultato che vorrei ottenere dal confronto delle due tabelle è che ad ogni nome della colonna a che trova nella colonna b mi scriva accanto in riga i valori numerici trovati in colonna c

    tipo:


    pippo 1 2 3
    pluto 7
    pluto 7
    topolino 9 12 24
    topolino 9 12 24
    tizio 11 9
    con i numeri ognuno in una cella diversa.

    grazie per l'aiuto


  • Un po di cicli
    di Biagicus74 (utente non iscritto) data: 06/07/2009

    Che possono andar bene al tuo scopo.
    attenzione è case sensitive. se metti maiuscole non sono due parole uguali
    es
    pippo <> pippo
     
    Sub TROVA()
    Dim irow, var, icol, vrow
    For irow = 1 To 1000
    If Cells(irow, 1) = "" Then Exit Sub
    var = Cells(irow, 1) 'scorro la prima colonna
    Sheets("foglio2").Cells(irow, 1) = var
    icol = 2
    For vrow = 1 To 10000
    If Cells(vrow, 2) = "" Then Exit For
    If Cells(vrow, 2) = var Then
    Sheets("foglio2").Cells(irow, icol) = Cells(vrow, 3)
    icol = icol + 1
    End If
    Next
    Next
    End Sub
    



  • di Max (utente non iscritto) data: 06/07/2009

    Funziona perfettamente...mi hai risolto un problema enorme in quanto devo confrontare tabelle con 200.000 o più righe.
    grazie mille