Condividi:        

Excel link in cella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel link in cella

Postdi dimasa » 19/05/12 12:09

Salve a tutti
ho cercato la soluzione al mio problema ma non sono riuscito a trovare nulla
vi espongo il dilemma

Sto cercando di creare un listino prezzi personalizzato di tutte le aziende fornitrici che trattiamo ed il problema è recuperare il prezzo di listino dei vari file excel listini dei nostri fornitori
ho impostato il foglio "Listino Prezzi" nel modo seguente
colonna C = nome azienda fornitrice
colonna D = Articolo del fornitore
colonna F = Prezzo di listino

nella colonna F ho inserito una formula con il cerca vert che a secondo dell'articolo che cerca va a prelevare il prezzo di listino corrispondente nel file interessato della ditta fornitrice (purtroppo inserisco manualmente questa stringa )


Codice: Seleziona tutto
=CERCA.VERT(D5;'X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\DITTA FORNITRICE1\2012\[LISTINO DITTA FORNITRICE1.xlsx]Foglio1'!$C$2:$E$1536;3;FALSO)


Inserisco manualmente nel senso che se nella colonna C si presenta la DITTA FORNITRICE 2 cambio manualmente il file


Codice: Seleziona tutto
=CERCA.VERT(D5;'X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\DITTA FORNITRICE2\2012\[LISTINO DITTA FORNITRICE2.xlsx]listino'!$A$2:$D$2340;3;FALSO)



Questo perchè ogni ditta fornitrice ha un suo modo di presentare il proprio listino

allora avevo pensato di inserire il percorso per ogni ditta in un altro foglio "DITTAPERC"
dove inserisco la ditta fornitrice nella colonna A ed il percorso nella colonna B
A----------------------------- B
ditta fornitrice1 -------- 'X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\DITTA FORNITRICE1\2012\[LISTINO DITTA FORNITRICE1.xlsx]Foglio1'!$C$2:$E$1536
ditta fornitrice2 --------- 'X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\DITTA FORNITRICE2\2012\[LISTINO DITTA FORNITRICE2.xlsx]listino'!$A$2:$D$2340

e recuperare il percorso con un cerca.vert

Codice: Seleziona tutto
=CERCA.VERT(C4;'DITTAPERC'!$A:$B;2;FALSO)


Ma ovviamente non mi funziona.... altrimenti non ero qui a chiedere consiglio....
Altro problema che mi viene in mente , non è che con tutti questi cerca.vert il foglio diventa pesante ed impossibile da gestire?

spero si sia capito :oops:
mi potreste indicare qualche altro post che mi possa aiutare ?!
Grazie
dimasa
Newbie
 
Post: 2
Iscritto il: 15/05/12 16:49

Sponsor
 

Re: Excel link in cella

Postdi Anthony47 » 19/05/12 13:44

Cia dimasa, benvenuto nel forum.

Se prelevi una parte dell' indirizzo da una tabella allora dovrai usare "Indiretto" per consentire a excel di calclare correttamente l' indirizzamento.
Esempio:
Codice: Seleziona tutto
=CERCA.VERT(D5;Indiretto(Cerca.Verticale(QuelloCheServePerAvereLindirizzo));3;FALSO)

PURTROPPO l' uso di Indiretto richiede che il file target sia aperto perche' la formula restituisca il risultato.
Non so quale e' la tua situazione, ne' quella che e' la tua conoscenza di vba, quindi mi limito a un paio di spunti
-potresti crearti una macro di WorksheetChange che ti apre il file man mano che imposti l' azienda
-oppure con la WorksheetChange modifichi la formula di ricerca (modifichi la prima, copi su tutto il resto della colonna), potendo cosi' lasciare il file chiuso.
Opterei per la prima ipotesi se i dati da cercare sono tanti; per la seconda se sono pochi. Ovviamente "tanti" e "pochi" sono concetti vaghi, quindi credo che solo un test sulla tua situazione potra' dirti quale e' l' ipotesi migliore.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel link in cella

Postdi dimasa » 21/05/12 07:41

Grazie per la risposta,
ho provato come segue
Codice: Seleziona tutto
=CERCA.VERT(D5;INDIRETTO(CERCA.VERT(C4;DITTAPERC!$A:$B;2;VERO);FALSO);3;FALSO)

ma mi da come errore #RIF!
dove sbaglio?

la mia conoscenza di vba è minima, ho realizzato qualche cosina un bel pò di tempo fa sempre con il tuo aiuto....

Saluti
dimasa
Newbie
 
Post: 2
Iscritto il: 15/05/12 16:49

Re: Excel link in cella

Postdi Anthony47 » 21/05/12 22:07

Come detto il file target deve essere in stato Aperto affinche la formula che usa Indiretto ti restituisca il valore giusto.
Quindi:
-prova che aprendo manualmente il file la formula ti restituisca il risultato che cerchi.
-se Si allora posta il risultato della formula =CERCA.VERT(C4;DITTAPERC!$A:$B;2;VERO) per poterti proporre una macro che ti apre automaticamente il file da usare. Nota che ritengo imprudente usare VERO nella Cerca.Vert, perche' rischi di ottenere un risultato non sempre veritiero; usa invece Falso.
-Se No, idem.
Questa stringa dovrebbe corrispondere a quella che usi nella formula del tuo primo messaggio.

Volendo puoi sostituire con un "*" ogni carattere che vuoi mascherare per motivi di privacy, senza pero' alterare la sintassi della stringa

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel link in cella

Postdi Flash30005 » 22/05/12 05:01

Ciao Dimasa e benvenuto nel Forum anche da parte mia

Leggi quanto scritto da Anthony.

Indipendentemente dal tipo di soluzione che sceglierai (con formule o macro) è importante, in un "progetto" organizzare uno schema dati più omogeneo e lineare possibile.
Noto, ad esempio, che nel percorso ci sono delle "ridondanze" che, forse è possibile eliminare
X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\DITTA FORNITRICE1\2012\[LISTINO DITTA FORNITRICE1.xlsx]
(DITTA FORNITRICE1)
Supponendo che i listini possano stare nella stessa cartella in quanto i file avranno di per sé il nome della ditta di appartenenza, potresti modificare il percorso in questa maniera
X:\AAAAAA\090 FORNITORI\LISTINI FORNITORI\2012\[LISTINO DITTA FORNITRICE1.xlsx]
o ancora meglio
X:\AAAAAA\2012\090 FORNITORI\LISTINI FORNITORI\[LISTINO DITTA FORNITRICE1.xlsx]
In modo tale da avere nell'anno 2012 sia la cartella "Listini fornitori" sia, eventualmente, altri listini
Mi sembra anche troppo specifico "090 Fornitori" ma solo tu sai il vero significato di questo codice e la sua utilità, perché potresti ridurre il percorso a solo
X:\AAAAAA\2012\LISTINI FORNITORI\[LISTINO DITTA FORNITRICE1.xlsx]

...........

Se non puoi rendere omogenei i fogli potresti crearti una tabella (nel foglio output)
dove avrai in una colonna "listino Ditta Fornitrice", nella seconda colonna il nome del foglio (Foglio1 o Listino) nella terza
colonna il range "C" quarta "E" (o "A" e "D"). Questo secondo punto è ancora più valido se la soluzione è realizzata con le formule.

Avrai, sicuramente un elenco dei file o delle ditte fornitrici quindi al momento che sceglierai una ditta e l'anno
hai tutti i parametri per giungere ai dati di tuo interesse.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Excel link in cella":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti