Condividi:        

Grafici a barre (prezzo azioni)

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Grafici a barre (prezzo azioni)

Postdi Gianpa12 » 11/07/10 17:35

Buongiorno,
Ho una serie storico sulla quale ho costruito un grafico a barre (massimo, minimo, chiusura). La serie storica, a seconda della necessità, la filtro per ottenere un suo sottoinsieme. Il grafico si aggiorna automaticamente rappresentando solamente i dati che di volta in volta decido di filtrare. Solo una cosa non si aggiorna in automatico: come faccio a far si che l'asse verticale abbia automaticamente gli estremi che coincidano con il valore più alto e più basso della serie storica in quel momento filtrata? Purtroppo il grafico si aggiorna automaticamente prendendo come valore minimo lo zero. Questo comporta che il grafico esce schiacciato. (Potrei semplicemente cambiare manualmente il formato dell'asse verticale, ma preferirei qualcosa di automatico poichè devo farne molti).
Spero di essermi spiegato chiaramente.
Grazie.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Sponsor
 

Re: Grafici a barre (prezzo azioni)

Postdi Flash30005 » 12/07/10 02:58

Con una macro
prima crei una ricerca del valore minimo (ValMin) e massimo (ValMax)

poi con questa macro che attiverai al variare del foglio
ottieni l'adeguamento del grafico
Codice: Seleziona tutto
Sub ModScalaGrafico()

    ActiveChart.ChartArea.Select
      ActiveSheet.ChartObjects("Grafico 1").Activate
    ActiveChart.Axes(xlValue).Select
    With ActiveChart.Axes(xlValue)
        .MinimumScale = 15   '<<<< ValMin
        .MaximumScale = 56  '<<<<<<ValMax
        .MinorUnitIsAuto = True
        .MajorUnitIsAuto = True
        .Crosses = xlAutomatic
        .ReversePlotOrder = False
        .ScaleType = xlLinear
        .DisplayUnit = xlNone
    End With
End Sub


Chiaramente dovrai sostituire il nome del tuo grafico a "Grafico1" della macro

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Grafici a barre (prezzo azioni)

Postdi Gianpa12 » 12/07/10 14:46

Grazie della risposta.
Se non ho capito male però quando inserisco tale macro, essa dovrebbe considerarmi fissi a 15 e a 56 rispettivamente il minimo e il massimo. Giusto? Io invece ho bisogno che cambino da soli, al cambiare del grafico ogni volta che filtro dei nuovi dati.
Grazie.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: Grafici a barre (prezzo azioni)

Postdi Anthony47 » 12/07/10 14:56

Con questa imposti automaticamente al valore minimo della serie di origine
Codice: Seleziona tutto
Sub GraphMin()
On Error Resume Next
Part = Selection.Address
 ActiveSheet.ChartObjects("Grafico 1").Activate  '<<< Il nome del grafico
    With ActiveChart.Axes(xlValue)
        .MinimumScale = Application.WorksheetFunction.Subtotal(5, Range("C:C")) '<<< I dati di origine
        .MaximumScaleIsAuto = True
    End With
Range(Part).Select
End Sub

Modifica le righe marcate <<< secondo i tuoi valori, poi assegna la macro sl grafico: bastera' cliccare per aggiornare la scala..
Se il grafico fosse in un foglio a se' stante sarebbe possibile automatizzarlo usando l' evento Chart_Calculate oppure Chart_Activate.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Grafici a barre (prezzo azioni)

Postdi Gianpa12 » 12/07/10 19:06

Ok, grazie mille.
GA
Gianpa12
Utente Junior
 
Post: 68
Iscritto il: 28/06/10 10:10

Re: Grafici a barre (prezzo azioni)

Postdi mvbike » 14/09/10 16:40

Scrivo in questa sezione (sperando che sia quella giusta) xchè in questa ho trovato qualcosa di simile al mio problema.
Mi scuso se ho sbagliato.

Vorrei effettuare la stessa cosa, ovvero regolare la scala di un grafico presente in una form di Access 2003 tramite VBA, ma al momento che vado a fissare la proprietà MinimumScale, ottengo:

Errore di Runtime 1004. Impossibile impostare la proprietà MinimumScale per la classe Axis.

Questo è il pezzo di codice interessato.

Dim grphChart As Object
............................................
Set grphChart = Me.Grafico0.Object
With grphChart.Axes(2)
.MinimumScale = wr3
.maximumScale = wr5
.MinorUnitIsAuto = True
.MajorUnit = 50
.CrossesAt = 0
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
With grphChart.Axes(1)
.MinimumScale = 0
.maximumScale = wr7
.ReversePlotOrder = False
End With

DOVE SBAGLIO?

Grazie
mvbike
Newbie
 
Post: 2
Iscritto il: 14/09/10 16:22

Re: Grafici a barre (prezzo azioni)

Postdi Anthony47 » 15/09/10 01:44

Ciao mvbike e benvenuto nel forum.
Io posso solo constatare che nel vba di access non esiste la proprieta' MinimumScale, ne' MaximunScale; poiche' le mie conoscenze sono limitate ad excel vediamo se qualcuno esperto di access puo' suggerire un metodo alternativo.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Grafici a barre (prezzo azioni)

Postdi Flash30005 » 15/09/10 11:54

Ciao Mvbike e benvenuto, anche da parte mia, nel Forum

Normalmente, il grafico prende tutta la scala,
hai un'esigenza particolare per limitare gli assi?

Per poter verificare l'errore dovremmo avere il tuo stesso file per avere le stesse condizioni
Potresti inviare il tuo file? (segui questa procedura
Indica anche la versione di Access (vers. office)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Grafici a barre (prezzo azioni)

Postdi mvbike » 15/09/10 14:25

Ho risolto il problema!
Il codice va inserito nel "contenitore" Grafico0, non nella Form come invece avevo fatto.

Comunque per chiarezza comunico che è possibile intervenire solo sull'asse delle y; mentre non si può variare il Minimum-MaximumScale dell'asse x.

Io avevo necessità di modificare solo i valori minimo e massimo di scala dell'asse y quindi ho risolto. Dovevo rappresentare l'altimetria di un itinerario con memorizzate, in una tabella di Access distanza ed altitudine e quindi, abitando io in collina ed andando spesso in montagna, i miei grafici perdevano in definizione perchè senza agire sui due limiti di scala partivano sempre dall'altitudine 0.

GRAZIE comunque per l'interessamento
mvbike
Newbie
 
Post: 2
Iscritto il: 14/09/10 16:22


Torna a Applicazioni Office Windows


Topic correlati a "Grafici a barre (prezzo azioni)":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti