Excel e gli applicativi Microsoft Office Cerca vert sequenziale

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

    Mirkoblu
    Partecipante

      Ciao

      Vorrei sviluppare una macro che mi svolgesse il seguente lavoro, una specie di trova tutte le voci corrispondenti a questo codice ed accodale in fondo

      Ho un file dove sulla prima colonna è cosi disposta, una serie di numeri fissi e gli ultimi 6 valori sono numeri vorrei cercare tutte le corrispondenze presenti in un secondo file di questi ultimi numeri e disporle in sequenza una sotto l’altro.

      Foglio 1 con colonna unica

      Qxsd.cvs.123456

      Qxsd.cvs1.123457

      Qxsd.cvs2.123458

      Qxsd.cvs3.123459

      Vorrei che mi cercasse tutte le corrispondenze presenti in un secondo file e me li accodasse vicino alla riga continuando sulla seconda riga mi spiego, trovare tutte le corrispondenze di"123456" ed accodarle

      Secondo file diviso su tre colonne

      123456 XXX 1

      123456 xcz 2

      123456 vvv 4

      123457 ttt 1

      123457 eee 1

      123459 rrr 2

      123459 aaa 5

      Risultato finale sul terzo foglio, qualora non lo trovasse inserisse "Non trovato"

      Qxsd.cvs.123456  XXX 1
      Qxsd.cvs.123456 xcz 2
      Qxsd.cvs.123456 vvv 4
      Qxsd.cvs.123457 ttt 1
      Qxsd.cvs.123457 eee 1
      Qxsd.cvs.123458 "non trovato"
      Qxsd.cvs.123459 rrr 2
      Qxsd.cvs.123459 aaa 2
      Qxsd.cvs.123460 "non trovato"
       

      Avete suggerimenti su come strutturarlo?

      grazie

      #14654 Risposta
      Marius44
      Marius44
      Moderatore
      • Sfida #4
        9 pts

        Ciao

        Un suggerimento si può dare quando si ha sottomano ... qualcosa che potrebbe andare meglio.

        Tu cosa hai fatto o cosa pensi di fare? Proponi qualcosa e vediamo ....

         

        Ciao,

        Mario

        #15067 Risposta

        gianca53
        Partecipante

          Ciao,

          io con il VBa sono una schiappa, però sono bravino a fare le ricerche , perchè non provi con :

          Google : VBa ricerca su due colonne numeri uguali

           

          #15106 Risposta

          gianca53
          Partecipante

            Solo per mia curiosità, vista la "latitanza"  del richiedente,  propongo il codice qui sotto  che funziona  bene per i trasferimenti da foglio a foglio,  identifica i valori  uguali ma non riporta -come da richiesta -l'associazione  tra le due stringhe  e il "non trovato". Qui serve l'intervento di qualche "senior ". A prescindere dal richiedente , se volete , per  mia sola curiosità tecnica. grazie. 

            Allego 2 file da mettere nella stessa cartella;  il file Xlsx è quello  dove vado a scrivere parte dei  dati, il  file xlsm contiene la macro di trasferimento e l'altra parte dei dati . Cosi almeno mi sembra di aver capito.

            `Option Explicit
            Sub Copia_in_Finale()
                Dim WK1 As Workbook, WK2 As Workbook, sh1 As Worksheet, sh2 As Worksheet
                Dim uRiga1 As Integer  ' su file "origine"
                Dim uRiga2 As Integer  ' su file "finale"
                Dim uRiga3 As Integer
                Dim CompareRange As Variant, x As Variant, y As Variant
                    
                Application.ScreenUpdating = False
                Set WK1 = ThisWorkbook
                Set WK2 = Workbooks.Open(WK1.Path & "/" & "Finale.xlsx")  ' <<< cambia
                Set sh1 = WK1.Worksheets("Dati_Out")    '<<< cambia
                Set sh2 = WK2.Worksheets("Dati_In")     ' <<<cambia
                uRiga1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row
                uRiga2 = sh2.Cells(Rows.Count, 2).End(xlUp).Row
                sh2.Range(Cells(2, 2), Cells(2, uRiga2)).ClearContents ' cancella prima di copia-incollare
                                
                sh1.Range(sh1.Cells(1, 1), sh1.Cells(uRiga1, 1)).Copy
                sh2.Range("B1").PasteSpecial xlPasteValues
                Application.CutCopyMode = False
                       
                uRiga3 = sh2.Cells(Rows.Count, 3).End(xlUp).Row
                WK2.Worksheets("Dati_IN").Range("c2", Cells(uRiga3, 3)).ClearContents
                
                Set CompareRange = WK2.Worksheets("Dati_IN").Range("A2", Cells(uRiga2, 2))
                For Each x In Selection
                    For Each y In CompareRange
                        If x = y Then x.Offset(0, 1) = x
                              
                    Next y
                Next x
              
                     
                Application.ScreenUpdating = True
                 WK1.Save
                 WK1.Close
                Set CompareRange = Nothing
                Set sh2 = Nothing
                Set sh1 = Nothing
                Set WK1 = Nothing
                Set WK2 = Nothing
               
            End Sub
            
            
            `
            Allegati:
            You must be logged in to view attached files.
            #15243 Risposta

            gianca53
            Partecipante

              E' pur vero che l'utente è sempre latitante, probabilmente ha risolto altrimenti, però il sottoscritto ', giusto per imparare , è da qualche giorno che ci gira attorno senza concludere !! 

              Come mi sono mosso ? ricordando il consiglio letto su questo forum di " procedere semplificando il problema " ho ricavato con le formule i vari componenti , ne ho fatto la comparazione e ottengo i dati  in comune tra le due serie di dati . Però il problema con cui mi scontro è  la parte conclusiva ovvero ricomporre il codice alfanumerico finale come richiesto dall'utente nel post 1. Dato che io per primo, di questa breve spiegazione  non ci capirei una mazza,  vi invito ad aprire i due file qui allegati ;   lanciando la macro si apre anche il file xlsx dove potrete verificare quanto fatto finora. 

              Il tutto se volete rallegrami la Pasqua, altrimenti   

              Comunque sia tanti auguri a  tutti . 

              Allegati:
              You must be logged in to view attached files.
              #15255 Risposta

              vecchio frac
              Senior Moderator
              • Sfida #1
                137 pts

                gianca53 ha scritto:

                Il tutto se volete rallegrami la Pasqua, altrimenti 

                 asap

                #15758 Risposta

                gianca53
                Partecipante

                  Asap  =  As Soon As Possible – il più presto possibile , ammesso e non concesso che VF intendesse ciò     

                  #15800 Risposta

                  vecchio frac
                  Senior Moderator
                  • Sfida #1
                    137 pts

                    Sì, ma poi mi sono distratto a lavorare e non ho più tenuto sottomano quest post   

                    Non prometto ma se riesco ci do un'occhiata.

                  LoginRegistrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: Cerca vert sequenziale
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni:



                  vecchio frac - 2048 risposte

                  albatros54
                  albatros54 - 646 risposte

                  patel
                  patel - 503 risposte

                  Marius44
                  Marius44 - 408 risposte

                  Luca73
                  Luca73 - 369 risposte