Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel 2003 Problemi a generare più grafici

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

Excel 2003 Problemi a generare più grafici

Postdi Omocaig » 29/05/15 11:35

Buongiorno, avrei un problema con Excell 2003-VBA Macro-Grafici-Win Xp.

Ho una serie di VALORI in riga che vengono aggiunti riga dopo riga, giorno per giorno.

Ho creato 4 Macro con 4 Pulsanti per la creazione di 4 Grafici sullo stesso foglio dove ci sono anche i Dati.

Queste macro sono le stesse, solo che cambia il riferimento delle celle che contengono i valori, ecco la macro per il primo grafico:

Codice: Seleziona tutto
Sub Grafico_1()
Application.ScreenUpdating = False
Dim ch As ChartObject
Set ch = ActiveSheet.ChartObjects.Add(150, 20, 400, 250)
ch.Chart.ChartWizard Source:=ActiveSheet.Range("B10:F10"), _
gallery:=xlLine, Title:="Proposte\Contatti"

A = ActiveSheet.[A10].Address
B = ActiveSheet.[A10].End(xlDown).Address
L = ActiveSheet.[B10].Address
M = ActiveSheet.[B10].End(xlDown).Address
N = ActiveSheet.[C10].Address
O = ActiveSheet.[C10].End(xlDown).Address
P = ActiveSheet.[D10].Address
Q = ActiveSheet.[D10].End(xlDown).Address
R = ActiveSheet.[E10].Address
S = ActiveSheet.[E10].End(xlDown).Address
T = ActiveSheet.[F10].Address
U = ActiveSheet.[F10].End(xlDown).Address


ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range(A, B)
ActiveChart.SeriesCollection(1).Values = ActiveSheet.Range(L, M)
ActiveChart.SeriesCollection(1).MarkerStyle = xlNone
ActiveChart.SeriesCollection(1).Name = "Totale"
ActiveChart.SeriesCollection(2).Values = ActiveSheet.Range(N, O)
ActiveChart.SeriesCollection(2).MarkerStyle = xlNone
ActiveChart.SeriesCollection(2).Name = "Agenzia"
ActiveChart.SeriesCollection(3).Values = ActiveSheet.Range(P, Q)
ActiveChart.SeriesCollection(3).MarkerStyle = xlNone
ActiveChart.SeriesCollection(3).Name = "Arenzano"
ActiveChart.SeriesCollection(4).Values = ActiveSheet.Range(R, S)
ActiveChart.SeriesCollection(4).MarkerStyle = xlNone
ActiveChart.SeriesCollection(4).Name = "Serra"
ActiveChart.SeriesCollection(5).Values = ActiveSheet.Range(T, U)
ActiveChart.SeriesCollection(5).MarkerStyle = xlNone
ActiveChart.SeriesCollection(5).Name = "Voltri"

ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.TickLabels.Orientation = xlUpward
.TickLabels.Font.Size = 6
.MinimumScale = ActiveSheet.Range(A)
.MaximumScale = ActiveSheet.Range(B)
.MajorUnit = 1
.MajorUnitScale = xlDays
.MinorUnitIsAuto = True
.Crosses = xlAutomatic
.AxisBetweenCategories = True
.ReversePlotOrder = False
End With
ActiveChart.Deselect

Application.ScreenUpdating = True
End Sub



Le altre tre macro sono uguali ma attribuiscono celle diverse alle variabili ( a,b,c.. Etc.. )

Le macro funzionano quando non sono presenti altri grafici già generati dalle macro sul foglio. Quindi, mi spiego meglio, ipotizziamo di voler visualizzare il grafico 1, basta cliccare il pulsante apposito ma per vedere il grafico due, o cancello il grafico uno e poi avvio la macro che genera il grafico due, oppure, se ho già generato un qualsiasi grafico, il grafico due viene generato senza valori sull'asse delle x come potete vedere in foto.

A destra è il primo file generato e a sinistra il secondo. Ricordo che se avessi cancellato il file a destra ( proposte\Contatti) prima di generare quello a sinistra ( vendite proposte ), allora avrei avuto il grafico di sinistra correttamente sviluppato.

La soluzione che ho provato ad adottare è la seguente, prima le altre tre macro utilizzavano la stessa colonna come riferimento dell'asse delle x, ora collego le variabili "a e b" a tre colonne diverse con gli stessi valori della colonna A ma il problema continua a sussistere, non capisco perchè, potete aiutarmi ? Grazie mille !

http://imageshack.com/a/img538/3701/34vdOh.png

[img][IMG]http://imagizer.imageshack.us/v2/xq90/538/34vdOh.png[/img][/img]
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Sponsor
 

Re: Excel 2003 Problemi a generare più grafici

Postdi Dylan666 » 29/05/15 13:17

ma in tutti e 4 i bottoni usi ActiveSheet.ChartObjects(1).Activate ?
Prova incece a usare 4 nomi diversi

ActiveSheet.ChartObjects("Grafico1").Activate
ActiveSheet.ChartObjects("Grafico2").Activate
ActiveSheet.ChartObjects("Grafico3").Activate
ActiveSheet.ChartObjects("Grafico4").Activate
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Excel 2003 Problemi a generare più grafici

Postdi Omocaig » 29/05/15 13:48

Si, esatto le macro variano solo per le celle assegnate alle variabili e il titolo. Forse il problema è appunto quello, però devo dire che ho messo ActiveSheet.ChartObjects(1).Activate perchè con "Grafico 1" non andava, mi dava errore 1004.. forse era per lo spazio tra la parola e il numero ? Posso povare solamente Mercoledì ad aggiustare tutto, grazie comunque. Se qualcuno sa qualcosa di più o vuole confermare, si faccia avanti ! Ciao a tutti !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Excel 2003 Problemi a generare più grafici

Postdi Anthony47 » 29/05/15 18:41

1) Do' per scontato che la macro in linea di massima funziona.
2) Quanto al problema denunciato, Dylan ha gia' evidenziato l'area di errore, salvo che la cura ipotizzata non funzionera'; infatti la numerazione dei grafici non e' strettamente legata a quanti grafici sono presenti sul foglio, ma a quanti ne sono stati creati.
Visto che ogni macro crea un suo grafico, dovresti attivare non il grafico 1 [ActiveSheet .ChartObjects(1).Activate] ma l' ultimo creato; cioe'
ActiveSheet.ChartObjects(ActiveSheet.ChartObjects.Count).Activate

Non avendo un file di test non ho fatto ulteriori prove...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel 2003 Problemi a generare più grafici

Postdi Omocaig » 30/05/15 09:41

Ciao, non posso mandare ora un file test, mercoledì provo a risolvere come mi avete consiglato, se ho ancora qualche problema invio il file test ! Vi ringrazio molto, a presto.
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08

Re: Excel 2003 Problemi a generare più grafici

Postdi Omocaig » 03/06/15 14:44

Ciao, il problema era quello e la soluzione proposta è giusta ! Grazie mille !
Xp + Office 2003 Ita
Omocaig
Utente Junior
 
Post: 76
Iscritto il: 11/05/15 15:08


Torna a Applicazioni Office Windows


Topic correlati a "Excel 2003 Problemi a generare più grafici":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti