Ho poi una cartella di riepilogo e di formattazione contenente un
"FoglioRiepilogo" dove per ogni codice in colonna A uguale a quelli
della colonna A dei vari "Foglio1" devo recuperare la somma dei valori
presenti in colonna I e (separatamente) in colonna K. (sempre però
aprendo una "Cartella1" alla volta)
Mediante del codice VBA pongo in cella A2 di questo "FoglioRiepilogo"
il percorso completo della "Cartella1" (che ho aperta, se no la apro
io via codice), che sarà del tipo:
"\\ComputerPippo\c\Users\Piero\Documents\EXCEL\Cartella1.xls"
Per fare un esempio:
"Foglio1" contiene:
colonne:
A B .... I ... K
Codice Descrizione... Importo1 ... Importo2
123 xxx 100 230
456 yyy 50 48
7 ... 30 110
456 ... 40 250
123 ... 20 95
98 ... 45 85
7 ... 130 60
Il foglio Riepilogo contiene:
in cella A2 il percorso completo del file,
e devo rendere nelle colonne I e K:
A B .... I ... K
Codice Descrizione... SommaImp1 ... SommaImp2
123 xxx 120 325
456 yyy 90 298
7 ... 160 170
98 ... 45 85
(praticamente la somma di tutti gli importi nelle righe con lo stesso
codice)
Usando la formula:
=INDIRETTO("'"&$A$2&"'!$A:$A")
sono riuscito a riferirmi alla colonna A del "Foglio1" il cui percorso
si trova in A2,
però non riesco a far funzionare la formula (in colonna I):
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!")&$A:$A;$A2;INDIRETTO("'"&
$A2&"'!")&I:I)
Sembra che SOMMA.SE , pur trovandosi giustamente tramite INDIRETTO il
riferimento al "Foglio1",
non sia in grado di puntare alla colonna A:A del suddetto "Foglio1",
ma si riferisce sempre alla colonna A:A del "FoglioRiepilogo".
Se qualcuno riesce ad aiutarmi verrà santificato ;-)
Grazie!
bruno.b
Carissimo Elio
innanzitutto grazie per la veloce risposta.
Ti confermo che i vari "Foglio1" *non* devono essere consolidati tra
loro, ma soltanto aperti uno alla volta: cioè ho bisogno che il
"FoglioRiepilogo" 'riepiloghi' solo i dati di *un* foglio alla volta
(sembrerà strano, ma serve solo a 'sommare' le voci uguali e
'impaginare' secondo uno standard).
Tieni presente che la struttura di questo "FoglioRiepilogo" non la
posso modificare (è già esistente e prodotto da altri), posso solo far
puntare le celle "SommaImporto1" e "SommaImporto2" alla ZonaDati del
"Foglio1" per estrarne le somme degli importi delle righe con lo
stesso codice.
Per lo stesso motivo non posso aggiungere un Tabella pivot.
L'alternativa del codice VBA potrebbe andare bene, anche se le righe
di riepilogo sono circa 400: per questo cercavo un sistema un po' più
'elegante' e veloce che facesse uso di SOMMA.SE.
Buona settimana.
bruno.b
Ciao a tutti,
ho avuto lo stesso problema e ho realizzato che con le funzioni di
base di excel non si risolve.
Per fortuna per excel dal 95 al 2007 è disponibile un set di funzioni
addizionali scaricabile da qui: http://xcell05.free.fr/morefunc/english/index.htm
In particolare la funzione INDIRECT.EXT permette di estrarre valori in
maniera dinamica da file chiusi.
Buon lavoro ;-)
Ciao Fabio
> Per fortuna per excel dal 95 al 2007 è disponibile un set di funzioni
> addizionali scaricabile da qui:http://xcell05.free.fr/morefunc/english/index.htm
>
> In particolare la funzione INDIRECT.EXT permette di estrarre valori in
> maniera dinamica da file chiusi.
> Buon lavoro ;-)
> Ciao Fabio
Ciao Fabio, solo ora mi accorgo della tua risposta e ti ringrazio.
Ho seguito il link ma arrivo fino a:
http://xcell05.free.fr/fclicksql/function.require
che mi risponde:
....
Page not found
We're sorry, the page you have requested cannot be found or is no
longer available.
Click here to go to the summary : http://xcell05.free.fr
.....
e naturalmente in <xcell05.free.fr> c'è la pagina di descrizione ma il
link di download non funziona.
Ho trovato comunque le "MoreFunc" a questo indirizzo:
http://download.cnet.com/Morefunc/3000-2077_4-10423159.html?tag=mncol
Scarico, provo e poi ti faccio sapere...
Grazie.
Bruno
a naso proverei così (con $A:$A all'interno delle virgolette):
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!&$A:$A";$A2;INDIRETTO("'"&
$A2&"'!&I:I")
Fai sapere se hai risolto, grazie.
Bye!
Scossa
>Ciao Fabio, solo ora mi accorgo della tua risposta e ti ringrazio.
>Ho seguito il link ma arrivo fino a:
>http://xcell05.free.fr/fclicksql/function.require
>che mi risponde:
>....
>Page not found
Morefunc for Excel
http://xcell05.free.fr/morefunc/english
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org
a naso proverei cosě (con $A:$A all'interno delle virgolette):
=SOMMA.SE(INDIRETTO("'"&$A$2&"'!&$A:$A";$A2;INDIRETTO("'"&
$A2&"'!&I:I")
**************************************************
ciao Scossa, per me mancano due parentesi tonde chiuse ;-)
--
ciao paoloard
http://riolab.org
> ciao Scossa, per me mancano due parentesi tonde chiuse ;-)
LOL, certo, anche qualche & di troppo, ma il concetto comunque è
quello.
=INDIRETTO("'" & $A$2 & "'!$A:$A")
quindi dovrebbe essere (ma sto scrivendo in IE):
=SOMMA.SE(INDIRETTO("'" & $A$2 & "'!$A:$A");$A2;INDIRETTO("'" &
$A2 & "'!I:I"))
Bye!
Scossa