Excell ricerca e unione elenchi



  • Excell ricerca e unione elenchi
    di Salvo (utente non iscritto) data: 11/04/2014 15:57:45


    Salve a tutti.
    Ho un problema con un foglio Excel.
    Metterò un file in allegato dove ho inserito nel primo foglio i dati iniziali e nel secondo come vorrei che diventassero automaticamente tramite una formula o qualsiasi altro modo.
    In pratica nel primo foglio ho due elenchi il primo dalla A-F il secondo dalla J-O nel secondo (J-O) devo aggiungere il nome con il numero quindi tramite la via del secondo elenco devo trovare le stesse vie che sono presenti nel primo elenco e unirle.
    Non è facile da spiegare ma dal file di prova si capisce che intendo.
    C'è da considerare che questo procedimento mi serve per una grossa quantità di nomi anche 10000.
    Quindi non li posso fare uno ad uno.
    Aspetto Risposta
    Grazie in anticipo



  • di Salvoxs data: 11/04/2014 16:13:32

    Mi sono dimenticato di scrivere che se ci fossero 2 o più persone con la stessa via avrei bisogno di visualizzarle entrambi .



  • di Lucas87 data: 11/04/2014 16:44:06

    Ciao
    Cioè vuoi che nell'elenco a sx vengano riportati in alto le righe che hanno come via quella indicata nell'elenco a dx?
    Mentre le altre righe vengono spostate in basso mantenendo l'ordine originale



  • di Salvoxs data: 11/04/2014 17:08:35

    Intanto grazie per avermi risposto.
    In parole povere ho due elenchi in uno ci sono tante vie con i nomi e i numeri (quello a sinistra) nel' altro ho solo alcune vie senza nome e numero (quello a destra).
    ho bisogno di cercare le vie presenti nel elenco a destra in quello a sinistra per completare l' elenco a destra con tutti i dati presenti in quello di sinistra.
    ho caricato un nuovo file prova 2, in quello mancava la colonna civico ( dovrei cercare la via con il civico esatto)



  • di gaetanopr data: 12/04/2014 17:28:28

    Ciao,
    cit:"ho bisogno di cercare le vie presenti nel elenco a destra in quello a sinistra per completare l' elenco a destra con tutti i dati presenti in quello di sinistra."
    nella tua richiesta ci sono alcune incongruenze, dici di voler completare l'elenco a destra, ma questo non viene modificato nell'esempio, sicuramente intendevi dire al contrario.
    cit:"( dovrei cercare la via con il civico esatto)"
    Nell'esempio hai ripreso il seguente indirizzo "V. Cesare Aguilhon" con numero civico 27 e l'hai fatto diventare 19.
    Nell'elenco a destra la via è scritta per intero "Via" invece a sinistra in maniera abbreviata "V." , quindi ad inizio macro macro ho aggiunto una riga di codice per sostituire Via in V.
    Intanto prova con questa macro

    Saluti

     
    Option Explicit
    Sub XXXX()
    Dim Sh As Worksheet
    Dim URiga As Long, URiga2 As Long
    Dim i As Long, n As Long, Y As Long, Ind As Long, j As Long
    Dim Indirizzo As String, Indirizzo2 As String
    Set Sh = Sheets("FILE INIZIALE")   ' da sostituire con il nome del foglio
    URiga = Sh.Range("N" & Rows.Count).End(xlUp).Row
    URiga2 = Sh.Range("A" & Rows.Count).End(xlUp).Row
    ReDim Matrice(0 To URiga2 - 2, 1 To 7)
    Sh.Range("N2:N" & URiga).Replace What:="Via", Replacement:="V."
    For i = 2 To URiga
       Indirizzo = Sh.Cells(i, 14) & Sh.Cells(i, 15)
       For n = 2 To URiga2
          Indirizzo2 = Sh.Cells(n, 2) & Sh.Cells(n, 3)
          If Indirizzo = Indirizzo2 Then
             For Y = 1 To 7
               Matrice(Ind, Y) = Sh.Cells(n, Y)
             Next Y
               Sh.Cells(n, 1).ClearContents
               Ind = Ind + 1
          End If
       Next n
    Next i
    For j = 2 To URiga2
     If Sh.Cells(j, 1) <> "" Then
        For Y = 1 To 7
           Matrice(Ind, Y) = Sh.Cells(j, Y)
        Next Y
        Ind = Ind + 1
     End If
    Next j
    Sh.Range("A2:G" & URiga2) = Matrice()
    Set Sh = Nothing
    
    End Sub
    



  • di Salvo (utente non iscritto) data: 22/04/2014 14:06:44

    Grazie gaetanopr !
    Scusa se rispondo solo ora ma ero convinto di aver già risposto.
    Comunque la macro funziona perfettamente solo si blocca quando sono molte righe.
    Scusa ancora e grazie mille.