Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Prova ad aggiungere
wsNew.Activate
prima di quella riga
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
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.
Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
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.
Risposta accettata dall'autore della domanda
Prova ad aggiungere
wsNew.Activate
prima di quella riga
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.
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
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
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