Devi usare VBA...
Ti posto un pezzo di codice preso da una mia macro... l'oggetto CHARTSETUP, cui fa riferimento il codice, è un tipo di dati che ho creato ad hoc per digitare più rapidamente...
Nel tuo caso, al posto di "= CHARTSETUP.MaximumScale" ecc. puoi mettere i riferimenti alla cella con l'istruzione:
- Codice: Seleziona tutto
= Sheets(foglio).Range(cella).Value
- Codice: Seleziona tutto
Sheets("GRAFICO").Select
C = ActiveChart.SeriesCollection.Count
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
Charts("GRAFICO").SeriesCollection(CHARTSETUP.SeriesSlot).XValues = Worksheets("DATA").Range(X_C_START & ":" & X_C_END)
Charts("GRAFICO").SeriesCollection(CHARTSETUP.SeriesSlot).Values = Worksheets("DATA").Range(Y_C_START & ":" & Y_C_END)
POS_X = Charts("GRAFICO").SeriesCollection(CHARTSETUP.SeriesSlot).XValues
'-----------------------------------------------------------------------------------------------------------------------
'qui c'è la parte che t'interessa...
Charts("GRAFICO").Axes(xlValue).HasMajorGridlines = True 'mostra griglia primcipale
Charts("GRAFICO").Axes(xlValue).HasMinorGridlines = True 'mostra griglia secondaria
Charts("GRAFICO").Axes(xlCategory).MinimumScale = 0 'imposta la scala x della griglia
Charts("GRAFICO").Axes(xlCategory).MaximumScale = CHARTSETUP.MaxSeries * CHARTSETUP.MaxSamples
Charts("GRAFICO").Axes(xlCategory).MajorUnit = CHARTSETUP.MaxSamples
Charts("GRAFICO").Axes(xlCategory).MinorUnit = Int(CHARTSETUP.MaxSamples / 4)
Charts("GRAFICO").Axes(xlValue).MinimumScale = CHARTSETUP.y_PlotStart 'imposta la scala y della griglia
Charts("GRAFICO").Axes(xlValue).MaximumScale = CHARTSETUP.y_PlotStop + CHARTSETUP.y_GridSize / 2
Charts("GRAFICO").Axes(xlValue).MajorUnit = CHARTSETUP.y_GridSize
Charts("GRAFICO").Axes(xlValue).MinorUnit = CHARTSETUP.y_GridSize / 2
ActiveChart.ChartTitle.Caption = CHARTSETUP.CH_Title
Scusa se sono poco chiaro ma devo andare a pranzooooo!
Spero di essere più lucido dopo...
Ciao,
MAx