Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Problemi con macro e grafici in Excel!

Office fa le bizze? Photoshop non funziona più? Forse possiamo darti una mano...

Problemi con macro e grafici in Excel!

Messaggioda Joint » gio ott 09, 2003 12:11 am

ciao ragazzi ho un problema con le macro e i grafici di excel 2000. Quando creo una macro correlata ad un grafico questa non funziona se il grafico viene modificato in larghezza o all'interno (caratteri, asse) ma solo se lascio il grafico come creato di default. L'Errore che mi genera è questo...errore di Run time (impossibile trovare l'elemento corrispondente al nome specificato).
Praticamente nel vbscript genera questo codice:

Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("SerieB").Range("A4:C4"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="SerieB"
ActiveSheet.Shapes("Grafico 96").ScaleWidth 1.32, msoFalse, _
msoScaleFromTopLeft
End Sub

dove quel grafico 96 cambia ogni volta che apro il grafico...diventanto 97 e cosi via..perdendo cosi il nome specifico e generando l'errore...almeno questo ho capito. C'è un modo per risolvere il problema?

grazie

Andrea
Avatar utente
Joint
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio ott 09, 2003 12:04 am

Problemi con macro e grafici in Excel!

Messaggioda Joint » gio ott 09, 2003 12:11 am

ciao ragazzi ho un problema con le macro e i grafici di excel 2000. Quando creo una macro correlata ad un grafico questa non funziona se il grafico viene modificato in larghezza o all'interno (caratteri, asse) ma solo se lascio il grafico come creato di default. L'Errore che mi genera è questo...errore di Run time (impossibile trovare l'elemento corrispondente al nome specificato).
Praticamente nel vbscript genera questo codice:

Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("SerieB").Range("A4:C4"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="SerieB"
ActiveSheet.Shapes("Grafico 96").ScaleWidth 1.32, msoFalse, _
msoScaleFromTopLeft
End Sub

dove quel grafico 96 cambia ogni volta che apro il grafico...diventanto 97 e cosi via..perdendo cosi il nome specifico e generando l'errore...almeno questo ho capito. C'è un modo per risolvere il problema?

grazie

Andrea
Avatar utente
Joint
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio ott 09, 2003 12:04 am

Messaggioda Joint » gio ott 09, 2003 10:08 pm

ho risolto [:p]

basta aggiungere un'istruzione che richiama il nome del grafico.

x = Mid(ActiveChart.Name, n+1nomefoglio) -- richiama il nome del grafico..deve cominciare dopo n+1 il nome del foglio altrimenti non trova il grafico! (se il foglio si chiama foglio1 l'istruzione sarà ,8 alla fine)

ActiveSheet.Shapes(x).ScaleWidth 1.37, msoFalse, _
msoScaleFromBottomRight
Avatar utente
Joint
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio ott 09, 2003 12:04 am

Messaggioda Terno » ven ott 10, 2003 12:10 pm

Bravo. Grazie per la soluzione
Avatar utente
Terno
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 2800
Iscritto il: dom gen 26, 2003 5:16 pm
Località: Emilia Romagna


Torna a Software

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising