Ciao a tutti, mensilmente, al fine di monitorare lo stato di avanzamento del mio progetto, devo formulare dei grafici che presentano i valori PLANNED ACTUAL dall'inizio del progetto ad oggi.
I valori che questi grafici prendono, provengono da un foglio "DATA" che ogni mese viene aggiornato con i valori ACTUAL.
Le colonne di questo foglio rappresentano tutti i mesi del mio progetto.
I valori PLANNED quindi (del mese corrente e cumulati) vengono sempre visualizzati e non cambiano mai (perchè congelati a inizio progetto) mentre gli valori ACTUA (del mese corrente e cumulati), ogni mese devo modificare il range del grafico di riferimento
-- vado nel foglio del grafico - tasto dx - Seleziona Dati - Modifica - Valori Serie (da colonna A a Colonna B).
Siccome i grafici a cui devo approtare questa modifica sono più di 30, questo lavoro risulta piuttosto lungo. Per ovviare a ciò, ho pensato di registrare una MACRO e questo è quello che excel mi ha generato:
Sub ShiftMese() '
' ShiftMese Macro
' permette, in tutti i grafici del foglio di lavoro, di considerare tutti i valori Actual **** Actual, fino al mese corrente '
' Scelta rapida da tastiera: CTRL+l
' Sheets("Overall").Select
ActiveSheet.ChartObjects("Grafico 1").Activate
ActiveChart.Axes(xlValue, xlSecondary).MinorGridlines.Select
ActiveChart.SeriesCollection(5).Values = "='DATA'!$K$5:$Y$5"
ActiveChart.SeriesCollection(10).Values = "='DATA'!$K$11:$Y$11"
Sheets("WP01").Select
ActiveSheet.ChartObjects("Grafico 1").Activate
ActiveChart.SeriesCollection(6).Values = "='DATA'!$K$17:$Y$17"
ActiveChart.SeriesCollection(10).Values = "='DATA'!$K$23:$Y$23"
End Sub
Questa MACRO velocizza di molto il mio lavoro. Il mese prossimo non dovrò fare altro che sostituire nella MACRO "Y" con "Z".
Mi chiedo però se sia possibile evitare di fare questa sostituzione manuale (una sessantina), inserendo, in una cella qualsiasi del foglio DATA (es. nella cella A1), la stringa/nome della colonna (es. "Z"), relativa al mese corrente, del nuovo range in modo
che tutti i valori della macro Y vengano sostituiti con Z.
Grazie dell'aiuto
Saluti
Nicolò
<Mod> Moved from English forum.