Condividi tramite

Creazione Macro somma delle spese mensili

Anonimo
2020-04-14T09:15:49+00:00

Buongiorno, avrei bisogno di creare una macro la quale: deve funzionare su una tabella che contenga un numero di righe e colonne, qualsiasi, non noto al momento della scrittura della macro.

Per ora sono riuscito a fargli fare la somma sulla tabella che ho ma, nonostante numerose prove, non riesco a rendere il tutto "dinamico".

Qui quello che ho scritto:

Sub Macro1()

'

    Sheets("Foglio1").Select

    Range("D18:H22").Select

    Selection.Copy

    Sheets.Add After:=ActiveSheet

    ActiveSheet.Name = "tabella"

    ActiveSheet.Paste

    Dim i As Integer

  Sheets("tabella").Select

  i = 0

  Do While Not IsEmpty(Cells(2, 2 + i))

    Range("E2").Offset(i, 0).Select

    ActiveCell.FormulaR1C1 = "=SUM(RC[-3],RC[-2],RC[-1])"

    i = i + 1

    Loop

     Sheets("tabella").Select

    i = 0

    Do While Not IsEmpty(Cells(2 + i, 2))

    Range("B5").Offset(0, i).Select

    ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)"

    i = i + 1

    Loop

End Sub

Ringrazio in anticipo per il vostro tempo.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2020-04-14T17:30:55+00:00

Prova ad aggiungere

wsNew.Activate

prima di quella riga

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-04-14T11:48:55+00:00

    Succede la stessa cosa che succedeva a me. Forse non ho ben capito come hai impostato il linguaggio? mi sono spiegato male io?

    Ho eliminato tutti i fogli e dal foglio uno ho fatto partire la tua macro e sotto Aprile mi da la somma delle 3 cifre precedenti invece dovrebbe restituire il valore della spesa di Aprile e, nella cella a seguire, la somma delle spese.

    Inoltre mi appare un erroe  di run-time '1004'.

    Ti ringrazio per il tempo che stai dedicandomi.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-04-14T10:58:33+00:00

    Prova cosi:

    https://1drv.ms/x/s!AmEDljrOgi7E6SbldzOgWtlp9il...

    Si devono impostare nella macro solo la riga iniziale e la lettera della colonna iniziale, dai un'occhiata se c'e' qualcosa che non capisci fammi sapere.

    Saluti,

    Daniele

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-04-14T09:54:30+00:00

    Immaginavo, ho creato un file esempio dove la macro funziona, spero sia chiaro. La soluzione potrebbe essere più facile di cosa mi sembra ma non riesco ad arrivarci. Grazie per la rapidià! Posso inviarti il tutto per mail? Quà non riesco a condividere il file ma solo il link drive

    https://1drv.ms/x/s!AqXFD9bCWqMxau0qxWQPG6bw0iY?e=FthEbe

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-04-14T09:22:19+00:00

    Ciao,

    sono Daniele un consulente indipendente,

    in questi casi è buona norma pubblicare un file di esempio esente di dati sensibili caricandolo per esempio su Google Drive, Filedropper oppure condividendolo tramite OneDrive, in questo modo è più semplice aiutarti.

    Vedi il link di seguito per sapere come fare:

    https://support.office.com/it-it/article/condiv...

    Per quanto riguarda la dinamicità puoi usare un range nominato oppure cercare l’ultima riga con

    Range(“A” & rows.count).End(xlUp).row
    

    Aspettiamo il file per poterti dare la soluzione corretta.

    Saluti,
    Daniele

    La risposta è stata utile?

    0 commenti Nessun commento