ciao a tutti,
le due stringhe qui sotto, fanno la stessa cosa, e funzionano.
Prendono un range di celle, e ne fanno la somma.
Cells(b, ultimacolonna).FormulaLocal = "=" & "SOMMA(C" & b & ":" & "E" & b & ")"
scrive =somma(c1:e1) , dove 1 è il numero della variabile
Cells(b, ultimacolonna).FormulaLocal = "=" & "SOMMA(" & Range(Cells(b, 3), Cells(b, ultimacolonna - 2)).Address & ")"
scrive =somma($c$1:$e$1), con riferimenti assoluti
Problemi:
1) nella stringa 1, non sono capace di rendere variabile la colonna.
2) nella stringa 2 mi permette di rendere variabile la colonna, ma scrive la somma usando il "$" e rendendo il riferimento assoluto, quindi negli ordinamenti successivi si crea confusione e disallineamento dei dati.
Mi serve di poter rendere la formula variabile, perchè da altri controlli durante le operazioni ottengo le posizioni dei dati che devo ordinare e nel tempo posso variare.
allego un file di esempio del foglio dati orgine e ciò che ottengo in finale attualmente.
iL FILE banalmente prende gli ordini dei clienti, da un gestionale, me li restiuisce in formato EXCEL, e calcolo
1) il totale residuo da spedire per ogni cliente, (colonna residuo), delle settimane precedenti a quella in esame
2) il totale residuo piu la settimana in esame ( colonna virtuale), delle settimane precedenti piu la corrente
3) l'effetivo che vado a spedire, in quanto, quando si fa il programma si esamina cosa parte e cosa no, quindi nella (colonna reale) scriverò quanto parte effettivo, e nella colonna finale ( delta ), rilevo quanto rimane a terra.
Purtroppo capita che le settimane siano spalmate su due mesi ( a cavallo del fine mese per inciso ) e quindi le formule che usano devono considerare una colonna in piu o in meno a seconda dei casi.
Se le posso rendere variabili, prendo il riferimento dell'ultima settimana e posso cambiare il valore.
Se decidete di lanciare la macro, prima eliminate il foglio "res".
viewtopic.php?t=111305
http://www.filedropper.com/modifichiamolecolonne1