Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

CERCA VERT dinamico tra file

Ultimo Aggiornamento: 08/05/2018 11:01
Post: 33
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
03/05/2018 12:13

Buongiorno ragazzi!
Ho bisogno nuovamente del vostro aiuto...
Dovrei riuscire a riportare dei dati presenti in celle di diversi fogli e diversi file all'interno di un unico file riepilogativo chiamato REPORT.
Ciascun foglio è organizzato allo stesso modo (es: valore DATA sempre in cella F14, valore NUMERO sempre in cella F15 etc.etc.) ed il valore univoco che contraddistingue ciascun foglio è il codice presente in cella E11 che è anche il nome di ciascun foglio.

Vi allego tre file (BIANCHI, ROSSI e VERDI) ed il file di riepilogo (REPORT).
L'obiettivo è quello di riportare i valori dei campi DATA, NUMERO, PEZZI, INVIO, RESO, STIMA,presenti in tutti i fogli di ciascuno dei tre file, in automatico (tramite formula o macro) all'interno degli stessi campi presenti nel REPORT.

Spero di essermi spiegato bene e di trovare qualcuno in grado di aiutarmi!

Grazie a tutti! [SM=x423047]

Post: 3.403
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/05/2018 21:31

Quando ti ho passato la mail, dal msg ho cerccato di capire il problema.
Mi si è rotto Hd, 48 ore per ripristinare il PC
Oltre a finire il mio PC, appena posso vedo questo problema
Domanda tramite VBA o formmule. Gli altri file sono aperti o chiusi?
[Modificato da raffaele1953 03/05/2018 22:25]
Excel 2013
Post: 2
Registrato il: 15/10/2017
Città: SAN VITO AL TORRE
Età: 58
Utente Junior
Excel online
OFFLINE
03/05/2018 21:33

Buonasera, se i fogli stessero tutti nella cartella REPORT potresti provare
vb
=SE.ERRORE(INDICE(MATR.TRASPOSTA(INDIRETTO(INDIRIZZO(RIF.RIGA(A1!$F$14);RIF.COLONNA(A1!$F$14);1;;$D7)):
INDIRETTO(INDIRIZZO(RIF.RIGA(A1!$F$19);RIF.COLONNA(A1!$F$19);1;;$D7)));
CONFRONTA(F$6;MATR.TRASPOSTA(INDIRETTO(INDIRIZZO(RIF.RIGA(A1!$E$14);RIF.COLONNA(A1!$E$14);1;;$D7)):
INDIRETTO(INDIRIZZO(RIF.RIGA(A1!$E$19);RIF.COLONNA(E5!$E$19);1;;$D7)));0));"")

Post: 3.404
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
03/05/2018 22:05

Sò che questo forum ha poblemi con i tasti minore / maggiore (forse solo il mio Pc è stupido)
x gioheu66
Potresti allegare per favore un txt con la Tua formula?
A me inserisce dei....br class="cbrh"....
[Modificato da raffaele1953 03/05/2018 22:08]
Excel 2013
Post: 3
Registrato il: 15/10/2017
Città: SAN VITO AL TORRE
Età: 58
Utente Junior
Excel online
OFFLINE
03/05/2018 23:01

Colpa mia di quei caratteri strani. Siccome nell'anteprima la formula debordava dal riquadro, ho dato degli invii a capo e quello è il risultato.
Allego il txt
Post: 33
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
04/05/2018 10:59

Re:
gioheu66, 03/05/2018 23.01:

Colpa mia di quei caratteri strani. Siccome nell'anteprima la formula debordava dal riquadro, ho dato degli invii a capo e quello è il risultato.
Allego il txt



raffaele1953, gioheu66 intanto GRAZIE!

@Raffaele, spero che hai risolto con il tuo HD, è capitato anche a me tempo fa...
Comunque potrei utilizzare sia formule che macro per arrivare alla soluzione; privilegierei le formule perché sarei più in grado di gestire eventuali varianti autonomamente rispetto ad un codice VBA complesso...

@gioheu66. grazie per la soluzione proposta ma ho provato ad aprire il file ma non "funziona", nel senso che nelle celle del foglio REPORT è riportata la mega-formula (:D) ma non restituisce i valori presenti negli altri fogli!
Comunque nel file REPORT non ci sono altri fogli, bensì sono riportati tutti i codici in colonna D (questi codici sono esattamente uguali ai nomi dei vari fogli presenti nei vari files).

N.B. quello postato è soltanto un esempio per trovre una soluzione, in realtà i file originali sono diversi e avrò a che fare con un totale di circa 200 fogli suddivisi in circa 20 file (e quindi circa 200 righe nel file REPORT!

Spero vivamente di trovare una soluzione!!

Grazie ancora ragazzi!
Post: 3.406
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
04/05/2018 12:32

Non hai risposto se gli altri file sono aperti o chiusi???
Se stanno tutti nella stessa Directory/Cartella del principale REPORT???
Scrivi questo in una cella del report =CELLA("nomefile") ... e sposta il risultato
Quei valori in D7:D12, sono i nomi dei fogli???
Dovresti inserire in C7:C12 i nomi dei files
Devo riverificare con 2013, mà penso che indiretto lavora sui files aperti (forse solo il VBA)
Ps Siccome il forum cambia il nome ai file dovresti riallegarli Zippandoli tutti 4 files in un'unico file
NB Esiste un add-in freeware per Excel 32bit Tu cosa usi?
[Modificato da raffaele1953 04/05/2018 12:42]
Excel 2013
Post: 3.407
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
04/05/2018 13:56

??) Chissà perchè reinstallando w10, la tastiera scrive doppio, doppi spazi , Maius/Minus e si mangia caratteri???
Mi è venuto in mente una procedura (se Ti va bene), apri il Tuo Report posizionati sulla cella F7 e scrivi =indice(
Adesso apri il file relativo, scegli il foglio A1 come scritto in cella D7 e seleziona le celle E1:F19
Adesso torna sul foglio master, la formula è diventata simile a =INDICE([1604154087.xlsx]A1!$E$14:$F$19
Finiscila con ;0;0) e premi OK. Chiudi l'altro file e modifica la formula (nel frattempo è diventata simile ad )
=INDICE('C:\Users\Casa\Desktop\Nuova cartella\[1604154087.xlsx]A1'!$E$14:$F$19;0;0)
e commpletta con =INDICE('C:\Users\Casa\Desktop\Nuova cartella\[1604154087.xlsx]A1'!$E$14:$F$19;RIF.COLONNA(A$1);RIF.COLONNA($B$1))
Trascina la formula sino K7
NB salva e chiudi Report, ogni volta quando lo riapri, premi file/informazioni/ in basso destra premi "modifica collegamenti a File"
Ps. Naturale per tutti file e fogli. Forse riesco fare unna sola formula, mà mi devi dare le risposte del post precedente
Excel 2013
Post: 34
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
04/05/2018 14:23

Re:
raffaele1953, 04/05/2018 12.32:

Non hai risposto se gli altri file sono aperti o chiusi???
Se stanno tutti nella stessa Directory/Cartella del principale REPORT???
Scrivi questo in una cella del report =CELLA("nomefile") ... e sposta il risultato
Quei valori in D7:D12, sono i nomi dei fogli???
Dovresti inserire in C7:C12 i nomi dei files
Devo riverificare con 2013, mà penso che indiretto lavora sui files aperti (forse solo il VBA)
Ps Siccome il forum cambia il nome ai file dovresti riallegarli Zippandoli tutti 4 files in un'unico file
NB Esiste un add-in freeware per Excel 32bit Tu cosa usi?



Allora intanto ti rispondo alle domande, dopodiché cercherò di seguire tutte le indicazioni fornite nella mail successiva! [SM=x423024]

1) gli altri file sono chiusi
2) stanno ognuno all'interno di una sottocartella della directory principale; il file REPORT invece è inserito direttamente all'interno della principale.
Se per l'esecuzione della formula/macro dovesse servire qualche modifica posso apportarla (es. tutti i file all'interno della stessa directory principale, compreso il file REPORT)
3) i valori in D7:D12 sono esattamente i nomi dei fogli inseriti nei vari file
4)inserire in C7:C12 i nomi dei file non è un problema
5)ti confermo che INDIRETTO lavora sui files aperti
6)Ti allego la cartella zippata con i 4 file all'interno
7)Uso Excel 2010 a 32 bit

Grazie infinite Raffaele!!
Post: 35
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
04/05/2018 14:25

Non so perché ma il forum non permette il caricamento di file zip (7zip)
Post: 36
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
04/05/2018 15:50

Re:
raffaele1953, 04/05/2018 13.56:

??) Chissà perchè reinstallando w10, la tastiera scrive doppio, doppi spazi , Maius/Minus e si mangia caratteri???
Mi è venuto in mente una procedura (se Ti va bene), apri il Tuo Report posizionati sulla cella F7 e scrivi =indice(
Adesso apri il file relativo, scegli il foglio A1 come scritto in cella D7 e seleziona le celle E1:F19
Adesso torna sul foglio master, la formula è diventata simile a =INDICE([1604154087.xlsx]A1!$E$14:$F$19
Finiscila con ;0;0) e premi OK. Chiudi l'altro file e modifica la formula (nel frattempo è diventata simile ad )
=INDICE('C:\Users\Casa\Desktop\Nuova cartella\[1604154087.xlsx]A1'!$E$14:$F$19;0;0)
e commpletta con =INDICE('C:\Users\Casa\Desktop\Nuova cartella\[1604154087.xlsx]A1'!$E$14:$F$19;RIF.COLONNA(A$1);RIF.COLONNA($B$1))
Trascina la formula sino K7
NB salva e chiudi Report, ogni volta quando lo riapri, premi file/informazioni/ in basso destra premi "modifica collegamenti a File"
Ps. Naturale per tutti file e fogli. Forse riesco fare unna sola formula, mà mi devi dare le risposte del post precedente



Raffaele, ho provato la formula e funziona ma purtroppo non va bene perché in questo caso dovrei ogni volta indicare manualmente il riferimento del file e del foglio!!
Lo stesso risultato lo otterrei anche con la formula "=CERCA.VERT(F$6;[VERDI.xlsx]B2!$E$14:$F$19;2;FALSO)" (applicata al foglio B2) ma con lo stesso problema!
Ciò che a me serve è proprio una formula/macro che importi automaticamente i valori presenti nei vari fogli (se presenti) di ciascun file a partire dal codice (nome foglio) senza dover specificare per ogni riga il percorso.

Grazie come sempre per il prezioso aiuto! [SM=x423047]


Post: 4
Registrato il: 15/10/2017
Città: SAN VITO AL TORRE
Età: 58
Utente Junior
Excel online
OFFLINE
04/05/2018 16:52

Come ti dicevo nel messaggio precedente la mia formula funziona solo se tutti i fogli stanno nella stessa cartella. in più mi sono dimenticato di dirti che la formula va confermata come matriciale ctrl+maiuscolo+invio
Ti riallego il file corretto
Post: 3.408
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
04/05/2018 18:40

Forse non ho capito nulla, i dati nelle celle D7:E12 sono già presenti, oppure bisogna trovare pure quelli??? Vedi Foglio2
Excel 2013
Post: 37
Registrato il: 26/02/2018
Città: ROMA
Età: 32
Utente Junior
Excel 2010
OFFLINE
08/05/2018 09:31

Buongiorno!!
E grazie per l'aiuto!
Raffaele, confermo che le celle in D:E sono fisse e non vanno ricercate.
Ho provato la macro di import e funziona :D è solo che per ogni cella importata mi si apre la finestra di Excel per confermare il percorso del file da aprire presente nella directory sul Desktop.
Se riuscissi a risolvere questo problema potrei iniziare a far girare la macro nel file con i dati reali.

Nel frattempo ne approfitto per chiedervi altre due cose:
1) è possibile riportare tramite macro il contenuto di celle di un file contenenti dei link a documenti sul PC o al web in celle di un alto file mantenendo i collegamenti? (finora sono riuscito soltanto con celle di tipo String, Integer etc etc.)

2) è possibile in qualche modo evitare da parte di Excel il messaggio iniziale che permette di modificare i collegamenti ad altri file o continuare con l'apertura?

Grazie a tutti per l'aiuto!!

[SM=x423030]
Post: 3.425
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
08/05/2018 11:01

>>>mi si apre la finestra di Excel per confermare il percorso
Non deve succedere, pure col mio esempio salvandolo solamente sul desktop lo farebbe.
Perchè nel VBA Sub Leggi_Chiusi(), io ho scritto il mio percorso (dove trovo i file)
sPath = "C:\Users\xxxxxxx\Desktop\Nuova cartella\SottoCartella\"
Tu devi mettere il Tuo percorso con la "\" finale

1) Si può. Sono nella stessa directory? Nomefile-foglio-area dove trovo i link.
Nome del file+foglio che riceve i link e dove metterli?

2) Tu hai due collegamenti a file esterni e "credo" che non puoi toglierli
Devo provare una cosa, se funziona sposto la soluzione

EDIT In merito domanda 2)
In Excel 2013, credo simile al 2010....
Vai in File\Informazioni\..in basso a destra...Modifica collegamenti a file
Clicca su Prompt di avvio, scegli la terza = Non visuallizare l'avviso ed aggiorna
Siccome non io ho i file, vedo un'altro avviso. Mà penso che Tu non li vedrai più
[Modificato da raffaele1953 12/05/2018 15:16]
Excel 2013
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 12:36. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com