Excel e gli applicativi Microsoft Office Confronto tra due file aperti per la ricerca di doppioni in colonne diverse

LoginRegistrati
Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #18343 Risposta
    Gret
    Gret
    Partecipante

      Buongiorno a tutti,

      gentilmente avrei bisogno del vostro aiuto per risolvere il problema seguente...

      Ho due file excel entrambi aperti (Master1 e Master2); in Master1, nella colonna E2:E1337, c'è una lista di indirizzi email, mentre in Master2 la colonna che conterrà gli indirizzi email sarà la colonna C2:C...; quello che vorrei fare è questo: se in Master2 inserirò un indirizzo email uguale a un altro indirizzo email di Master1 mi dovrà uscire un messaggio che dice "attenzione, questa email esiste già nell'altro file in riga .... colonna ...." per poter vedere se effettivamente esiste altrimenti "questo è nuovo".

      Avete qualche suggerimento su come procedere? Spero di aver chiarito in tal caso chiedete pure  

      Ringrazio tutti per l'attenzione e buona continuazione  

       

      #18346 Risposta
      Luca73
      Luca73
      Partecipante
        14 pts

        Ciao 

        io farei così.

        Anzichè scrivere l'indirizzo in cella lo farei scrivere in un input box poi con una macro usando un find oppure un ciclo fai la verifica se incluso nel file Master e se non esiste lo includi e scrivi in master 2

        Ciao

        Luca

        #18347 Risposta
        gibra
        gibra
        Partecipante
          7 pts

          Nell'evento Selection_Change del foglio Master2 inserisci un codice VBA di controllo sull'esistenza nel Master1.

          La prima cosa che mi viene in mente è che puoi utilizzare un ciclo For/Next per confrontare gli indirizzi, oppure il metodo Find del Range che contenga l'elenco degli indirizzi.

          Se esiste già annulli l'inserimento nella cella Target.

          #18348 Risposta
          Gret
          Gret
          Partecipante

            Ciao e grazie per aver risposto.

            gibra, come funziona il metodo for..next per la ricerca del dato? Mi faresti qualche esempio?

            Grazie mille  

            #18352 Risposta
            Luca73
            Luca73
            Partecipante
              14 pts

              Ciao 

              il ciclo for .... next usa una variabile che assume tutti i valori oppure tutte le entità definite.

               

              For indice = 1 to 10
                 msgbox indice
              Next
              
              
              For Each Miacella in Range("A1", "C5")
                 msgbox Miacella.value
              Next 

              Nei due esempi sopra riportati ti ho mostrato come funziona il ciclo.

              Nel primo caso la variabile indice assume tutti i valori tra 1 e 10

              Nel secondo caso lsa variabile miacella vale ciascuna delle celle nel range definito.

              trovato= false
              with workbooks("Master1).Sheets("Folgio ConElenco")
                 for each CellaW in .Range("B5", .Cells(Rows.count, 2).end(xlup))
                    if CellaW.value=indirizzodaverificare    
                        msgbox "trovato"
                        trovato=true
                        'altre azioni se esiste
                        exit for
                    end if
                 next
              end with
              if not trovato thrn
                 'altre azioni se non trovato
              end if
              
              

               

              #18362 Risposta
              Gret
              Gret
              Partecipante

                Capito, mi metto al lavoro.. Grazie per i suggerimenti  

                #18366 Risposta
                Luca73
                Luca73
                Partecipante
                  14 pts

                  Ciao con il metodo find dovrebbe essere più veòloce

                  Sub pippo()
                  Dim var
                  Dim trovato
                  var = "indirizzodaverificare"
                  Set trovato = workbooks("Master1).Sheets("Folgio ConElenco").Range("B2", Cells(Rows.Count, 2).End(xlUp)).Find(What:=var, LookAt:=xlWhole)
                  If Not trovato Is Nothing Then
                      MsgBox "trovato in riga " & trovato.Row
                  Else
                      MsgBox "non trovato"
                  End If
                  End Sub
                  
                  
                  #18419 Risposta
                  ges
                  ges
                  Partecipante

                    Gret ha scritto:

                    Ho due file excel entrambi aperti (Master1 e Master2)

                    Ciao a tutti,

                    Gret, se non lo fai per comodità tua non ha senso tenere i  due file aperti, basta che tieni aperto quello su cui devi scrivere gli indirizzi, sarà il codice che aprirà e  chiuderà il file senza che tu te ne accorga, con un'istruzione del genere:

                    Set Master2 = Workbooks.Open(Master1.Path & "\" & " Master2.xlsx ")

                     

                  LoginRegistrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: Confronto tra due file aperti per la ricerca di doppioni in colonne diverse
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni:



                  vecchio frac - 2388 risposte

                  albatros54
                  albatros54 - 670 risposte

                  patel
                  patel - 541 risposte

                  Marius44
                  Marius44 - 448 risposte

                  Luca73
                  Luca73 - 432 risposte