Ho cercato sul forum, ma non sono riuscito a trovare una risposta al mio problema .
Scarico dei dati da Yahoo Finance, che poi uso per creare un grafico dell’andamento del titolo.
Ora ho modificato una macro in modo da scalare il grafico in base al valore Minimo/Massimo del titolo, ma non mi riesce a scalare l’intervallo di tempo via Macro
Riesco a farlo solo cambiando l’intervallo manualmente per ogni serie.
Infatti se l’intervallo e’ di 5 anni I dati sono compresi tra (AA31:AA1320) – (AF31:AF1320), e cosi via, ma col diminuire del periodo il range con I dati diminuisce, diventera’ (AA31:AA800) – (AF31:AF800) e cosi via…………..
Ma il grafico non si ridimensiona in quanto legge sempre l’intervallo (AA31:AA1320) – (AF31:AF1320)…..
Si puo risolvere in modo automatico ho dovro’ cambiare manualmente ogni volta il valore del range (AAx:AAy) – (AFx:AFy)………….
Questa e’ la macro che uso per scalare il Valore Minimo/Massimo del titolo,
- Codice: Seleziona tutto
Sub ScalaGrafico()
Dim ChartVar As Chart
Dim lMax As Long, lMin As Long
Dim DMax As Long, DMin As Long
On Error GoTo ProblemiDiScala
ActiveSheet.Unprotect
'Assigns the values in the Min and Max ranges to variables.
With Sheet3
lMax = .Range("Massimo").Value
lMin = .Range("Minimo").Value
DMax = .Range("DataMax").Value
DMin = .Range("DataMin").Value
'Creates chart object.
Set ChartVar = .ChartObjects("Chart 32").Chart
With ChartVar.Axes(xlValue, xlPrimary) 'Adjusts the price axis as per Min/Max range.....
.MinimumScale = lMin
.MaximumScale = lMax
End With
End With
ActiveSheet.Protect
Exit Sub
ProblemiDiScala:
MsgBox "Impossibile aggiornare la scala del Grafico.", vbCritical + vbOKOnly, "Errore di Dimensionamento"
ActiveSheet.Protect
End Sub
Ho provato ad aggiungere......
- Codice: Seleziona tutto
With ChartVar.Axes(xlCategory, xlPrimary) 'Adjusts the Date axis as per Min/Max range.....
.MinimumScale = DMin
.MaximumScale = DMax
End With
Ma mi da' errore.......
In attesa…….. ringrazio