COMANDO INDIRETTO
Hai un problema con Excel? 
COMANDO §INDIRETTO§
di Tesgia (utente non iscritto) data: 16/11/2013 18:47:29
Salve a tutti,
ho qualche difficoltà nell'utilizzo del comando "INDIRETTO".
Mi spiego meglio. Ho diverse macro attive sul foglio1 che mi estrapolano dati da diversi file / cartelle (compreso l'indirizzo completo dei file)
A questo punto ho necessità di puntare su un'altra tabella una cella di ciascun file esterno elencato nel foglio1. ho quindi pensato di usare il comando INDIRETTO , tuttavia però il risultato della formula è sempre lo stesso #rif..... :(
l'ho provata in tutte le salse, ma non va.
Il comando è il seguente:
=INDIRETTO("'"&$F$3)
dove il contenuto della cella f3 è il seguente:
W:CLIENTE[1R99999A_descrizione_.xlsm]foglioXX'!$E$1
Spero possiate aiutarmi.
Ciao e buona serata a tutti.
di Raffaele_53 (utente non iscritto) data: 16/11/2013 22:14:40
Esempio =indiretto(A2)
Si scrive =INDIRETTO("A" & 2)
Esempio =in altro foglio
Si scrive =INDIRETTO("foglio1!A" & 2)
>>>=INDIRETTO("'"&$F$3)
Dove non capisco, per finire non capisco anche il """$F$3 """ finale
Prove su files chiusi, non ho fatto.
Prove su files in altri HD, non ho fatto.
Prove su files in percosi di rete, non ho fatto
Una cosa è sicura "INDIRETTO", funziona.
di Tesgia (utente non iscritto) data: 19/11/2013 11:48:47
e chi ha messo in dubbi che indiretto funzioni..... lo so e lo uso comunemente.... in questo caso specifico però da problemi.
idealmente quello che dovrebbe essere scritto nella formula che indiretto andrebbe ad eseguire sarebbe una cosa del genere:
='W:cliente[1R99999A_descrizione_.xlsm]foglioXX'!$E$1
Da quello che ho capito è l'apice a creare problemi, ma senza l'apice la formula non funziona. Avete altre idee per risolvere il problema?
di gaetanopr (utente non iscritto) data: 19/11/2013 12:01:49
Ciao l'apice puoi sostituirlo con CHR$(39)
cit>>. lo so e lo uso comunemente...
lo usi anche con file chiusi? perchè non dovrebbe funzionare in questo caso, dovrebbe esserci un addin con dentro una funzione INDIRETTO.EX che dovrebbe risolverti il problema
di gaetanopr (utente non iscritto) data: 19/11/2013 12:33:37
Scusa CHR$(39) in Vba con le formule è CODICE.CARATT(39)
quindi la tua formula è =INDIRETTO(CODICE.CARATT(39) &$F$3)
di gaetanopr (utente non iscritto) data: 19/11/2013 13:20:08
Ciao ho fatto delle prove e con il file aperto la formula così scritta mi funziona
=INDIRETTO(CODICE.CARATT(39) & B3) dove in B3 ho indicato il percorso completo, a file chiuso come detto prima mi restituisce #RIF!
Così ho usato la funzione INDIRECT.EXT e funziona anche a file chiuso
=INDIRECT.EXT(CODICE.CARATT(39) & B3)
di tesgia (utente non iscritto) data: 19/11/2013 13:45:33
c'è u unico problema..... il mio excel ha INDIRECT.EXT :( che versione stai usando?
di gaetanopr (utente non iscritto) data: 19/11/2013 13:49:31
2007
di tesgia (utente non iscritto) data: 19/11/2013 13:55:53
io ho il 2010 e mi restituisce #nome.... ho cercato un po in giro il comendo indirect.ext non è nativo di excel. probabilmente l'hai installato in un secondo momento. purtroppo per me non è applicabile in quanto il file dovrà essere usato da più persone che quindi potrebbero non avere installato il pacchetto di comandi aggiuntivi....
di gaetanopr (utente non iscritto) data: 19/11/2013 15:29:43
avevo specificato che si trattava di un addin, comunque puoi fare tutto da macro, cioè già con la tua macro ti estrapoli gli indirizzi dei file, sempre da macro puoi aprirli prelevarti il dato che ti occorre e chiuderli nuovamente
di Raffaele_53 (utente non iscritto) data: 19/11/2013 15:35:33
Non ho ancora capito, se devi usare INDIRETTO, per una formula oppure in un codice?
Stai usando una formula, per ottenere un valore di una cella di un'altro files?
Se metto in una cella =SE(1=1;Vero;Falso)
Nella condizione VERO, restituisce quello che desideri
Ex =SE(1=1;'D:[Esempio.xls]Foglio1'!$C$4;""), a me restituisce il valore scritto nell'altro files chiuso.
Ora presumendo che la formula Ti dia una stringa (come hai scritto)
ex =SE(1=1;"'D:[Esempio.xls]Foglio1'!D";"")
Questa risponde --->'D:[Esempio.xls]Foglio1'!D
Puoi scrivere dove desideri =INDIRETTO(celladellaformula & 4)
Mà, solo se il files e aperto.
di tesgia (utente non iscritto) data: 19/11/2013 16:23:21
IL PROBLEMA è FARGLI SCRIVERE IL PERCORSO (COMPRESO ') IN AUTOMATICO. SE LO INTEGRI NELLA FORMULA FUNZIONA SE LO COPIA DA UN'ALTRA CELLA NON FUNZIONA.
EX: =SE(1=1;L3;"") ED IN L3 c'è il percorso da aprire compreso ' ti scrive il contenuto della cella ma non apre niente.
di Raffaele_53 (utente non iscritto) data: 19/11/2013 17:49:05
Perchè non sposti un esempio riferirito al disco C
Io dico una cosa, Tu un'altra (vediamo di trovare una soluzione)
di Raffaele_53 (utente non iscritto) data: 19/11/2013 17:58:22
Magari di rileggere quanto scritto.
Poi se sposti la formula (magari capisco meglio)
di tesgia (utente non iscritto) data: 19/11/2013 20:23:29
Penso cambi veramente poco riferirlo a C:
in più ho già provato ed il risultato è lo stesso. non so proprio come uscirne!
Fare una Macro penso sia abbastanza complicato in quanto il valore da prendere dagli altri file lo deve andare a riportare in una lista per cui sono diverse variabili in gioco sia come posizione che come quantità... era molto più comodo avere una formula che poteva essere trascinata per modificarne i riferimenti.... ma sembra che non vi sia via di uscita. se pensate sia utile vi posso postare il file, ma penso che poi sarà un casotto in quanto ha un botto di riferimenti su cartelle di rete...
Fatemi sapere.
Grazie
Ancora
Gianni
di Raffaele_53 (utente non iscritto) data: 19/11/2013 21:52:56
Se non desideri spostare, fai questa prova (files A e B).
Crea il Files A
Scrivi in A1 -->Ciao, e salvi (in C o D dove desideri) col nome Esempio.xls (anche Esempio.xlsx) tenendolo aperto.
Ora apri un nuovo files B e metti dove Vuoi ----> UGUALE (Ti sposti sul files A e clicchi la cella A1)
Noterai che la formula scritta è simile =[Esempio.xls]Foglio1!$A$1
Chiudi il files A e vedrai che funziona lo stesso.
Ora desideri fare un INDIRETTO
Naturale che [Esempio.xls]Foglio1!$A$1 non vada più bene.
Perciò modificando la formula, nella cella vedrai scritto il percorso (esempio in E1)
Tramite formula sarebbe =SE(1=1;"'D:[Esempio.xls]Foglio1'!A";"")
Come noti ho richiamato il percorso + la colonna (mà non la riga)
In qualsiasi cella che desideri =INDIRETTO(E1&1) e otterai la risposta "Ciao" solo se il files A è aperto.
Solo un mio pensiero, senza vedere esempi (oppure non ho capito nulla)
Ps. Fosse codice e un'altra strada.
Vuoi Approfondire?