Somma celle con fogli dinamici



  • Somma celle con fogli dinamici
    di pero13 (utente non iscritto) data: 09/04/2014 11:32:41

    Ciao a tutti,
    ho una richiesta rispetto alla quale non ho trovato altre discussioni sul forum.

    Essenzialmente in un foglio excel ( chiamato " RIEPILOGO") devo riportare in un'unica cella la somma dei range A1:A10 di ogni foglio presente nel file (TIZIO, CAIO, SEMPRONIO etc)! ... il problema è che il numero e sopratutto il nome dei fogli è variabile !

    Come faccio a gestire il tutto tramite una macro vba?

    GRAZIE MILLE!



  • di Grograman data: 09/04/2014 12:18:51

    Direi che prima bisogna imparare ad usare il lato foglio, poi passare al VBA


    Mettiti nella cella dove vuoi la somma, poi premi F2 per entrare nella cella, quindi scrivi "=Somma(" e con il mouse selezioni prima tutti i fogli tenendo premuto SHIFT, quindi il range di celle da sommare.

    Si chiama in gergo tecnico "3d reference" e il risultato è qualcosa di simile a quello riportato sotto:

     
    =SOMMA(Foglio2:Foglio9!E1:E19)
    
    h t tp :/ /office.microsoft.com/en-us/excel-help/create-a-3-d-reference-to-the-same-cell-range-on-multiple-worksheets-HP010102346.aspx



  • di pero13 data: 09/04/2014 12:44:06

    Grazie , ma mi sembrava abbastanza chiara la descrizione del mio problema!
    ho a che fare con fogli "dinamici", e di conseguenza il numero stesso dei fogli ( ed i loro relativi nomi) è variabile !

    es. Nella cella del foglio RIEPILOGO faccio la somma da te consigliata : =SOMMA(Foglio2:Foglio9!E1:E19) ; ora aggiungo il foglio10 e foglio11 e cancello il foglio4 ... la formula diventa obsoleta essendo statica e ovviamente non è efficace ( poichè esclude il foglio10 e il foglio11) !

    mi servirebbe una macro in grado di sommarmi il range E1:E19 per tutti i fogli attualmente presenti nel file...fogli il cui numero ( ripeto) è variabile!



  • di scossa data: 09/04/2014 14:12:55

    cit.: "ora aggiungo il foglio10 e foglio11 e cancello il foglio4 ... la formula diventa obsoleta essendo statica e ovviamente non è efficace...."
    Basta un po' di inventiva.

    Ipotizzioamo che il tuo file abbia questi fogli (in questo ordine):
    RIEPILOGO - TIZIO - CAIO - SEMPRONIO
    - inserisci un nuovo foglio tra RIEPILOGO e TIZIO e lo rinomini ad esempio Foglio0
    - inserisci alla fine (dopo SEMPRONIO) un nuovo foglio vuoto e lo rinomini ad esempio Foglio9999

    avrai questa struttura:
    RIEPILOGO - Foglio0 - TIZIO - CAIO - SEMPRONIO - Foglio9999
    ora:
    - crei la tua bella formula sul foglio Riepilogo: =SOMMA(Foglio0:Foglio9999!A1:A10)
    - nascondi i fogli Foglio0 e Foglio9999

    N.B.: i fogli Foglio0 e Foglio9999 non ha valori quindi non influenzano il risultato della formula.

    Ora se anche elimini un foglio intermedio o se ne aggiungi di nuovi avrai sempre la formula aggiornata.



    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno.
    Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)



  • di pero13 (utente non iscritto) data: 09/04/2014 17:23:32

    Ok! è un buona soluzione considerando anche la sua semplicità!