somma variabili incrementali
Hai un problema con Excel? 
somma variabili incrementali
di maxp72 data: 02/10/2013 10:53:24
Buongiorno.
Ho una variabile che si incrementa ad ogni ciclo :
Totale_MESE_MONTE_ORE_(X) , che va da 1 a 12 e che calcola le ore di ogni mese.
Alla fine del mio foglio ho la necessita' di fare la somma del totale delle variabili di ogni mese
e' possibile farlo senza dove scrivere tutta la somma :
TOT = Totale_MESE_MONTE_ORE_1+Totale_MESE_MONTE_ORE_2+Totale_MESE_MONTE_ORE_3+eccc.
facendo una cosa del tipo:
sum(Totale_MESE_MONTE_ORE_1:Totale_MESE_MONTE_ORE_12)
come si fa' per le celle?
di Vecchio Frac data: 02/10/2013 11:18:10
Forse sì :)
dim somma as single
somma = WorksheetFunction.sum(TOT) |
di gaetanopr data: 02/10/2013 11:18:46
cit>> Ho una variabile che si incrementa ad ogni ciclo :
usa lo stesso metodo
For i = 1 To 12
TotaleMesi = TotaleMesi + Totale_MESE_MONTE_ORE_(i)
next i |
di Vecchio Frac data: 02/10/2013 11:20:43
Errata corrige, la tua variabile è diversa da quella che ho usato nel test, del resto il concetto non cambia.
Ma mi viene un orribile sospetto: hai una sola variabile indicizzata o hai dodici variabili distinte, chiamate Totale_MESE_MONTE_ORE_1, Totale_MESE_MONTE_ORE_2 e così via?
In tal caso butta via questa brutta impostazione e riscrivi una sola variabile vettore, con dodici elementi.
dim somma as single
somma = WorksheetFunction.sum(Totale_MESE_MONTE_ORE_) |
di Vecchio Frac data: 02/10/2013 11:21:47
LOL, anche gaetanopr secondo me è caduto nel tranello ^_^
di gaetanopr data: 02/10/2013 11:25:41
cit>>LOL, anche gaetanopr secondo me è caduto nel tranello ^_^
infatti la migliore cosa sarebbe disporre del codice intero, così si potrebbe pure ottimizzare
di maxp72 data: 02/10/2013 11:33:52
beh il codice lo trovate nell'allegato del caso che ho appena chiuso:
***excelvba.it/Forum/thread.php?f=2&t=4951
di Vecchio Frac data: 02/10/2013 11:46:36
Aaaargh, è come avevo supposto ^_^
Bè allora non puoi neanche adattarti al codice di gaetanopr, e dovresti considerare seriamente l'ipotesi di ottimizzare il tutto...
Con variabili distinte non puoi risolvere facilmente e devi rassegnarti a sommare il valore di ogni variabile Double:
TOT = Totale_MESE_MONTE_ORE_1+Totale_MESE_MONTE_ORE_2+Totale_MESE_MONTE_ORE_3+ecc.
Scrivimi su staff@excelvba.it indicandomi la tua email così ti passo il mio file presenze sul quale puoi ragionare e vedere se ci sono idee da cui prendere spunto.
di maxp72 data: 02/10/2013 14:43:42
Ho migliorato il codice...spero... (vedi nuovo allegato)
mi si presenta un problema pero', vedi codice sotto, lo trovate nella macro :
CALCOLO_MONTE_ORE
pare che tutto vada bene, se cambio valore ad una cella la prima volta tutto ok, la seconda volta invece la variabile sotto non si azzera, al contrario di tutte le altre, e mi sballa le somme.
come mai?
Totale_MESE_MONTE_ORE_SINGOLO(12) = "0" 'NON SI AZZERA!!!! |
di maxp72 data: 02/10/2013 17:01:40
ok risolto.
avevo definito la variabile come public e poi la azzeravo in una macro dove in effetti non veniva nemmeno chiamata, ora la ho definita e azzerata tutto dentro la stessa macro e funziona.
scusate
Vuoi Approfondire?