› Excel e gli applicativi Microsoft Office › Cerca vert sequenziale
-
AutoreArticoli
-
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
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
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
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.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.Il tutto se volete rallegrami la Pasqua, altrimenti
asap
Asap = As Soon As Possible – il più presto possibile , ammesso e non concesso che VF intendesse ciò
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.
-
AutoreArticoli