Risultati da 1 a 17 di 17

Discussione: Aiuto creare riporti e somme automatiche



  1. #1
    L'avatar di genki76
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Pordenone
    Età
    41
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0

    Aiuto creare riporti e somme automatiche

    Salve, sono nuovo e mi scuso se non ho trovato la risposta all'interno del forum se presente.
    Vengo subito al dunque. Devo creare un registro per la mi attività di oneri e spese.
    ho già creato le colonne, nominate e formattate. Ho già fatto in modo che ad ogni foglio stampato vengano riportati i nomi delle colonne e le intestazione di pagina.
    Ora ho bisogno di fare in modo che automaticamente ogni interuzione di pagina (da pagina 1 a pagina 2 per esempio) vengano calcolati in automatico la somma di ogni singola colonna a fine pagina e il riporto delle precedenti somme nelle pagine successive. Come devo fare?
    Grazie

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Ciao,
    per poterti meglio aiutare mostraci la struttura del tuo file allegando un esempio, ovviamente privo di dati personali o sensibili.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  3. #3
    L'avatar di genki76
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Pordenone
    Età
    41
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Caricato l'esempio!
    File Allegati File Allegati

  4. #4
    L'avatar di genki76
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Pordenone
    Età
    41
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Vorrei che ogni volta che stampo in automatico mi faccia una riga riportante le somme delle colonne interessate da valori.
    e che in automatico tali somme vangano visualizzate nella riga riporto di ogni pagina!

  5. #5
    L'avatar di genki76
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Pordenone
    Età
    41
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    ..nessuno può aiutarmi?!?

  6. #6
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Citazione Originariamente Scritto da genki76 Visualizza Messaggio
    Vorrei che ogni volta che stampo in automatico mi faccia una riga riportante le somme delle colonne interessate da valori.
    e che in automatico tali somme vangano visualizzate nella riga riporto di ogni pagina!
    Ciao Jenky76
    Ho visto il tuo file e credo che tutto quello che potevi fare l'hai già fatto, la tua richiesta di far visualizzare le somme in basso in ogni foglio non credo che sia possibile con gli strumenti convenzionali di excel, forse si può fare qualcosa con il VBA ma non ne sono sicuro, invece se la somma vuoi fara visualizzare in alto potresti aggiungere una riga come hai già fatto per i titoli
    Ciao

  7. #7
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3343
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Ciao Jenky76
    Ho visto il tuo file e credo che tutto quello che potevi fare l'hai già fatto, la tua richiesta di far visualizzare le somme in basso in ogni foglio non credo che sia possibile con gli strumenti convenzionali di excel, forse si può fare qualcosa con il VBA ma non ne sono sicuro, invece se la somma vuoi fara visualizzare in alto potresti aggiungere una riga come hai già fatto per i titoli
    Ciao
    è dura; presuppongo si possa fare ma la cosa non è semplice. Il sistema migliore, vista la natura del file e quindi dei dati, è quello di utilizzare access che offre maggiori opzioni per i report e utilizzando poi le query la reportistica offre tante possibilità

    ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  8. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Butto giù una bozza col vba , se è quello che intendi si può completare.

    Codice: 
    Sub riporta()
        Dim wks As Worksheet
        Dim x As Integer
        Set wks = Worksheets("Foglio1")
        
        For x = 32 To 500 Step 32
            
            wks.Range("F" & x).FormulaLocal = "=SOMMA(F7:F31)"
            wks.Range("F" & x).Interior.ColorIndex = 4
            wks.Range("F" & x + 1).Interior.ColorIndex = 6
            wks.Range("F" & x + 1) = wks.Range("F" & x)
            
        Next
        Set wks = Nothing
        
    End Sub
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  9. I seguenti utenti hanno dato un "Like"


  10. #9
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3343
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Butto giù una bozza col vba , se è quello che intendi si può completare.

    Codice: 
    Sub riporta()
        Dim wks As Worksheet
        Dim x As Integer
        Set wks = Worksheets("Foglio1")
        
        For x = 32 To 500 Step 32     ' quì deve essere For x = 31 to 500 step 26
            
            wks.Range("F" & x).FormulaLocal = "=SOMMA(F7:F31)"
            wks.Range("F" & x).Interior.ColorIndex = 4
            wks.Range("F" & x + 1).Interior.ColorIndex = 6
            wks.Range("F" & x + 1) = wks.Range("F" & x)
            
        Next
        Set wks = Nothing
        
    End Sub
    Ciao Ges ti sei meritato un buon MI PIACE però c'è un piccolo problema che ho segnato in rosso per ogni foglio viene messo sempre il riporto del 1° foglio mentre invece ci sarebbe da riportare il valore dell'ultimo foglio. Adesso è tardi e vado a nanna ma dovresti provare a mettere un altro FOR NEXT all'interno di quello che c'è e sommare in una variabile i dati della colonna fino alla fine della pagina ed eliminando la riga incriminata.
    la colonna da prendere in considerazione è la "G" e non la "F" e il FOR NEXT esistente cambia i numeri.

    ciao e buonanotte.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  11. #10

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Ciao Baloon,
    grazie dell'apprezzamento, per me è un onore riceverlo da un esperto di vba come te.


    Al di la della colonna di calcolo (la G e non la F) avevo calcolato uno step 32 poiché facendo un'anteprima di stampa del foglio mi risultava la linea tratteggiata del limite inferiore ogni 32 righe, però va bene impostarlo a 26 tanto il Range di stampa si può impostare facilmente col vba.

    Continuo nel ragionamento tenendo in considerazione la colonna F e la riga 32 (che ho già utilizzato), ma la questione non cambia per la colonna giusta (G) e la riga 26.

    Allora, per ripeterei il calcolo ogni tot colonne dal lato formule non avrei problemi, potrei utilizzare per esempio questa:


    =SE(RESTO(RIF.RIGA(A1);32)=1;SOMMA(F1:F31);"")


    da inserire nella riga 32 e trascinare in basso e ogni 32 righe mi farebbe il calcolo del range superiore (31 righe)


    Nel caso va fatto ogni 26 righe diventerebbe


    =SE(RESTO(RIF.RIGA(A1);26)=1;SOMMA(F1:F25);"")


    Dal lato vba avevo pensato ad una soluzione del tipo


    For x = 32 To 500 Step 32
    For y = 7 To 500 Step 32
    wks.Range("F" & x).FormulaLocal = "=SOMMA(Fy:Fx)"

    Ma così non ovviamente funziona!!!

    Meno che mai così che da errore:
    wks.Range("F" & x).FormulaLocal = "=SOMMA("F"& y &":F" & x)"

    E' un aspetto nuovo che finora non avevo affrontato, cioè come scrivere una formula nel vba che faccia delle operazioni ad intervalli regolari.

    Provvederò a studiare! :262:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. #11

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2810
    Versione Office
    Excel 2013
    Likes ricevuti
    1022
    Likes dati
    979
    Citazione Originariamente Scritto da ges Visualizza Messaggio

    wks.Range("F" & x).FormulaLocal = "=SOMMA(Fy:Fx)"
    Forse mi sbaglio, ma non basta fare una cosa tipo:
    Codice: 
    wks.Range("F" & x).FormulaLocal = "=SOMMA(F" & x-25 & ":F" & x-1 & " )"

  13. #12
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3343
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Baloon,
    grazie dell'apprezzamento, per me è un onore riceverlo da un esperto di vba come te.


    Al di la della colonna di calcolo (la G e non la F) avevo calcolato uno step 32 poiché facendo un'anteprima di stampa del foglio mi risultava la linea tratteggiata del limite inferiore ogni 32 righe, però va bene impostarlo a 26 tanto il Range di stampa si può impostare facilmente col vba.

    Continuo nel ragionamento tenendo in considerazione la colonna F e la riga 32 (che ho già utilizzato), ma la questione non cambia per la colonna giusta (G) e la riga 26.

    Allora, per ripeterei il calcolo ogni tot colonne dal lato formule non avrei problemi, potrei utilizzare per esempio questa:


    =SE(RESTO(RIF.RIGA(A1);32)=1;SOMMA(F1:F31);"")


    da inserire nella riga 32 e trascinare in basso e ogni 32 righe mi farebbe il calcolo del range superiore (31 righe)


    Nel caso va fatto ogni 26 righe diventerebbe


    =SE(RESTO(RIF.RIGA(A1);26)=1;SOMMA(F1:F25);"")


    Dal lato vba avevo pensato ad una soluzione del tipo


    For x = 32 To 500 Step 32
    For y = 7 To 500 Step 32
    wks.Range("F" & x).FormulaLocal = "=SOMMA(Fy:Fx)"

    Ma così non ovviamente funziona!!!

    Meno che mai così che da errore:
    wks.Range("F" & x).FormulaLocal = "=SOMMA("F"& y &":F" & x)"

    E' un aspetto nuovo che finora non avevo affrontato, cioè come scrivere una formula nel vba che faccia delle operazioni ad intervalli regolari.

    Provvederò a studiare! :262:
    Adesso devo uscire ma ricordate che se usate "formulaLocal" dovete usare la sintassi che viene usata normalmente nello scrivere una formula non potete ricorrere a marchingegni come ha fatto Rubik72 (ciao)

    ci si aggiorna ciao e buona giornata

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  14. #13

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2810
    Versione Office
    Excel 2013
    Likes ricevuti
    1022
    Likes dati
    979
    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    Adesso devo uscire ma ricordate che se usate "formulaLocal" dovete usare la sintassi che viene usata normalmente nello scrivere una formula non potete ricorrere a marchingegni come ha fatto Rubik72 (ciao)

    ci si aggiorna ciao e buona giornata
    E tu te ne esci tranquillamente spensierato e ci tieni sulle spine?
    Non ce l'hai un portatile, un tablet, uno smartphone con tapatalk, un fuoco acceso per i segnali di fumo?
    RISPONDIIIIIIIIIIIIIIIIIIII:292:


    Scherzo. A presto (ma non tardare troppo:32:)

  15. #14
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3343
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    E tu te ne esci tranquillamente spensierato e ci tieni sulle spine?
    Non ce l'hai un portatile, un tablet, uno smartphone con tapatalk, un fuoco acceso per i segnali di fumo?
    RISPONDIIIIIIIIIIIIIIIIIIII:292:


    Scherzo. A presto (ma non tardare troppo:32:)
    Eccomi a voi con la soluzione spero vada bene (naturalmente ho modificato il lavoro di Ges)

    Codice: 
    Sub riporta()
    
    Dim wks As Worksheet
    Dim x As Integer, e As Integer, i As Integer
    Dim ariportare As Long
    
    
    Set wks = Worksheets("Foglio1")
    e = 6
    
    
    ' ----------------------- azzeramento dei totali ------------------
    For x = 31 To 500 Step 26
        wks.Range("G" & x).ClearContents
        wks.Range("G" & x + 1).ClearContents
    Next
    '-------------------------------------------------------------------
    
    
    ' --------------- calcolo e scrittura dei riporti -----------------------------
    For x = 31 To 500 Step 26
        
    ' -------- calcolo dei totali della pagina + riporto pagina precedente --------
        For i = e To e + 25
            ariportare = ariportare + wks.Range("G" & i + 1).Value
        Next
    ' ---------- scrittura dei riporti calcolati ----------------------------------
        wks.Range("G" & x).Value = ariportare
        wks.Range("G" & x).Interior.ColorIndex = 4
        wks.Range("G" & x + 1).Interior.ColorIndex = 6
        wks.Range("G" & x + 1) = wks.Range("G" & x)
        e = e + 26
    Next
    ' -------------------------------------------------------------------------------
        Set wks = Nothing
        
    End Sub
    Aspetto fiducioso una risposta da Genki76

    :242:
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  16. I seguenti utenti hanno dato un "Like"

    ges

  17. #15

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Ottimo lavoro Baloon! :286:

    Una bella soluzione senza mettere formule!

    Io avevo trovato questa che funzionava, ma la dovevo ancora adattare al range interessato.
    Codice: 
     wks.Range("G" & x).Value = WorksheetFunction.Sum(wks.Range("G" & y), wks.Range("G" & x-1))
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  18. #16
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3343
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ottimo lavoro Baloon! :286:

    Una bella soluzione senza mettere formule!

    Io avevo trovato questa che funzionava, ma la dovevo ancora adattare al range interessato.
    Codice: 
     wks.Range("G" & x).Value = WorksheetFunction.Sum(wks.Range("G" & y), wks.Range("G" & x-1))
    Grazie Ges, troppo buono :243:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  19. #17
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126
    Ciao genky76 Stavo rivisitando tutte le mie vecchie discussioni a cui ho partecipato, e volevo sapere se la risposta che ti è stata data, ti andava bene.
    Colgo l’occasione per ricordarti che è buona norma rispondere alle discussione sia in caso di soluzione risolta oppure no, come previsto dal regolamento cosi da non vanificare lo sforzo di colui che ci ha messo impegno gratuitamente.
    In attesa di una tua risposta, buona giornata
    Ciao

Discussioni Simili

  1. [Risolto] problemi di somme
    Di atievoli nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 10/02/17, 10:18
  2. problema con somme sbagliate
    Di timeo nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 04/03/16, 09:43
  3. check box automatiche
    Di max72 nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 28/12/15, 20:20
  4. Riprovo a chiedere aiuto per x creare una cartella dinamica
    Di Uistiti63 nel forum Domande su Excel in generale
    Risposte: 0
    Ultimo Messaggio: 11/12/15, 11:57
  5. Aiuto per creare clienti con relative tabelle
    Di Obscures nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 29/09/15, 21:39

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •