Allineare celle uguali



  • Allineare celle uguali
    di Lukemacio (utente non iscritto) data: 11/03/2009

    Ciao a tutti! e' da qualche giorno che a lavoro ho un problema. ho un foglio elettronico con una colonna di codiciservizio di clienti attivi ad una certa data (più altre informazioni sull'anagrafica e sui servizi). adesso mi hanno dato una lista di codiciservizio aggiornati e quindi più recente. in pratica quest'ultima lista non presenta più alcuni codici perchè alcuni utenti hanno disdetto il contratto, ma ne presenta anche di nuovi che hanno invece stipulato un nuovo contratto. in pratica ho bisogno di creare una nuova colonna accanto a quella con i codiciservizio "vecchi" nella quale vado a mettere la nuova lista. in pratica voglio far combaciare tra le due colonne le celle con i codiciservizio uguali, laddove non combaciano voglio lasciare una cella vuota nella colonna nuova. chiaramente se faccio un copia-incolla, tutte le volte dovrei poi traslare la colonna verso il basso quando non trovo un codice uguale nella colonna "vecchia". c'è un metodo veloce x fare tutto ciò? chiaramente la lista dei "nuovi" me la sono copiata in un nuovo foglio elettronico sempre all'interno dello stesso file. spero di essere stato chiaro. spero soprattutto che qualcuno mi aiuti, grazie!



  • di Enzo (utente non iscritto) data: 12/03/2009

    Sempre se ho capito il tuo esempio
    l'istruzione qui sotto analizza due colonne
    colonna a codici vecchi
    colonna b codici vecchi con dei codici nuovi
    confronta le due colonne se nella colonna b trova i codici della colonna a li lascia nella colonna b alla stessa altezza
    in caso contrario lascia nella colonna b la cella vuota
    ti faccio presente che l'istruzione parte dalla cella 1 senza considerare eventuali intestazioni delle colonne
    se non fosse cosi' devi sostituire in ogni ciclo
    for esempio for i = 1 to..... il valore 1 con 2
    fa sapere se va bene
     
    Sub confronta()
    Application.ScreenUpdating = False
    For i = 1 To Range("a65536").End(xlUp).Row
    For H = 1 To Range("B65536").End(xlUp).Row
    If Range("a" & i) = Range("b" & H) Then
    Range("c" & i) = "X"
    GoTo 10
    End If
    10 Next H
    Next i
    For i = 1 To Range("a65536").End(xlUp).Row
    If Range("C" & i) = "X" Then
    Range("B" & i) = Range("A" & i)
    Range("C" & i) = ""
    Else
    Range("C" & i) = ""
    Range("B" & i) = ""
    End If
    Next i
    Application.ScreenUpdating = True
    End Sub
    



  • di Mteo data: 12/03/2009

    Ciao,
    secondo me potresti risolvere facilmente il tuo problema con la formula "cerca.vert()" tra le due liste ( la vecchia e quella nuova ).