Copia riga se.

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
ForeignEagle
00lunedì 26 dicembre 2016 21:42
Salve a tutti. Mi servirebbe aiuto per scrivere una funzione che mi consenta di:

copiare una riga da un foglio ad un altro se è verificata la condizione che la cella D5 abbia lo stesso valore in entrambi i fogli.

In pratica, la colonna D di tutti i fogli contiene sempre il codice del prodotto. Ora sto cercando di copiare su un unico foglio tutte le colonne, anche da diversi fogli, che contengono informazioni su quel prodotto. Per questo se il valore non fosse verificato, vorrei che sul Foglio 1 (master: che cioè contiene tutti i prodotti, non necessariamente presenti anche in Foglio 2, Foglio 3..) non venisse copiato niente.

Spero di essermi spiegato bene. Premetto di non avere grande dimestichezza con Excel, men che meno con VBA. Grazie in anticipo a chi saprà darmi una mano. Buone feste a tutti.

Office Pro Plus 2016.

Grazie !!

alfrimpa
00lunedì 26 dicembre 2016 22:08
Ciao ForeignEagle

Per fare quello che chiedi occorre fare ricorso alle marco/VBA.

Dovresti però allegare un file di esempio con dati non sensibili ma in linea con l'originale è mostrare, sulla base di tali dati, il risultato desiderato inserito manualmente.
ForeignEagle
00lunedì 26 dicembre 2016 22:48
copia riga se
Grazie mille Alfredo!

Carico due file quasi del tutto identici a quelli sui quali sto lavorando; li ho semplicemente ripuliti e resi essenziali. Non credevo fosse necessario VBA, anzi speravo che bastasse la funzione SE.. ma come dicevo non sono un mago della materia.

Per questo, grazie mille per il tuo aiuto. Spero si capisca il risultato ricercato dal messaggio di testo nel file master sheet.

[SM=x423017]
alfrimpa
00lunedì 26 dicembre 2016 23:18
Ciao

Perchè hai allegato due file? Su quale dei due si deve operare?

Sarebbe utile che mi facessi vedere anche il risultato desiderato
ForeignEagle
00lunedì 26 dicembre 2016 23:27
copia riga se
Ciao. Ricarico un solo file, il master sheet, dove ho copiato gli altri fogli dai quali sto cercando di copiare i dati. Come ti dicevo, spero si possa risolvere con una funzione (forse SE combinata con un'altra?) senza ricorrere ad una macro, che forse non saprei manutenere bene.

Grazie di nuovo.
DANILOFIORINI
00martedì 27 dicembre 2016 00:44
Ciao a patto di avere bene interpretato potrebbe bastare un cercaverticale con un se per togliere gli zeri quando la cella è vuota e se.errore per gestire i casi di mancata corrispondenza
in Q5 del foglio Master sheet
=SE.ERRORE(SE(CERCA.VERT($D5;'Retail 2'!$D$5:$P$117;RIF.COLONNA(D$1);0)=0;"";CERCA.VERT($D5;'Retail 2'!$D$5:$P$117;RIF.COLONNA(D$1);0));"")....riferito al foglio Retail 2
da trascinare a destra fino a Z5 e in basso...(poi ripetere l'operazione cambiando i riferimenti per il foglio Retil3)
ForeignEagle
00martedì 27 dicembre 2016 01:14
copia riga se
Danilo, grazie.
Ho appena provato e il risultato è esattamente quello che stavo cercando. Adesso proverò a decostruire la tua funzione per poterla replicare su altri file, modificandola se serve.
Per quel poco che riesco a fare, ero abbostanza convinto che potesse bastare una combinazione di SE e CERCA.VERT.

Grazie ancora, e buone feste.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 21:50.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com