Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[excel] autografico

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] autografico

Postdi ramset64 » 28/06/09 13:18

Come ho avuto modo di segnalare tempo fa, se si crea una macro che autoaggiorni un grafico, qualora si aprono più file di excel in contemporanea questa va in errore (mi riferisco a excel 2007). Qualcuno (credo flash30005) mi aveva gentilmente programmato questa macro:
Sub AutoGrafico()
Application.ScreenUpdating = False
'identifica l'ultima colonna che contiene dati
UCol = Worksheets("Foglio2").Range("XFD1").End(xlToLeft).Column
'identifica la quartultima colonna piena
NCol = UCol - 3
'identifica l'ultima riga piena di NCol
If NCol > 1 Then
URiga = Worksheets("Foglio2").Cells(1048576, NCol).End(xlUp).Row
'inserisce i dati nel grafico 1
Sheets("grafico1").Select
ActiveChart.Axes(xlValue).Select
ActiveChart.SeriesCollection(1).Values = "=Foglio2!R2C" & NCol & ":R" & URiga & "C" & NCol
ActiveChart.ChartArea.Select
End If

che funziona benissimo tranne per problema citato prima su excel2007.
Vorrei aggirare l'ostacolo incollando il grafico su un foglio come oggetto e non creando un foglio grafico (spero di evitare il bug del 2007) ma purtroppo in questa maniera la macro a volte funziona ed altre va in errore, credo ci sia qualcosina da cambiare ma non capisco cosa. L'errore viene segnalato a questa riga :
ActiveChart.Axes(xlValue).Select
Grazie ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Sponsor
 

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 13:36

ramset64 ha scritto:Come ho avuto modo di segnalare tempo fa, se si crea una macro che autoaggiorni un grafico, qualora si aprono più file di excel in contemporanea questa va in errore (mi riferisco a excel 2007). ...


Cosa significa "qualora si aprano più file di excel... questa va in errore"?
E' chiaro che non solo office 2007 andrà in errore ma tutti gli office perché la macro ha attivo il foglio2 (dal quale prende i dati) ma se apri una cartella diversa che ha anch'essa foglio2 senza i dati la macro andrà sicuramente in errore e lo confermi con questa frase
ramset64 ha scritto:...la macro a volte funziona ed altre va in errore

perché dipende da cosa stai facendo con altre cartelle di excel e stai rendendo attiva un'altra cartella mentre sta "lavorando" la macro.
Altrimenti si dovrebbe mettere anche il riferimento del file di excel in ogni codice Worksheets("Foglio2")... e far lavorare la macro in background.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 28/06/09 13:45

No, flash mi sono spiegato male.
La macro funziona perfettamente, però....

Ho decine di file identici con dati diversi ovviamente, quando li aggiorno (con una macro che li apre uno ad uno, li aggiorna e li richiude), se nei file è presente un grafico (a prescidendere dalla macro), va in errore, ovvero il foglio che contiene il grafico cambia stranamente nome, sia che si chiami grafico1 o foglio5 o pippo44 poco importa, cambia nome e quindi la macro va in errore perchè non trova il nome del foglio corretto.

Il bug è visibile anche se non vi è nessuna macro all'interno dei fogli.
Ripeto è un problema di excel 2007, tanto è vero che allora pubblicai un file per farlo provare al forum e tutti dissero che funzionava correttametne con excel 2003 mentre nessuno riuscì a provare con excel 2007.

Per questo vorrei aggirare il bug mettendo un grafico come oggetto in un altro foglio, ma in questo caso la macro va in errore.

Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi ramset64 » 28/06/09 15:33

ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi ramset64 » 28/06/09 15:53

Ho risolto...
Sub AutoGrafico()
Application.ScreenUpdating = False
'identifica l'ultima colonna che contiene dati
UCol = Worksheets("Foglio2").Range("XFD1").End(xlToLeft).Column
'identifica la quartultima colonna piena
NCol = UCol - 3
'identifica l'ultima riga piena di NCol
If NCol > 1 Then
URiga = Worksheets("Foglio2").Cells(1048576, NCol).End(xlUp).Row
'inserisce i dati nel grafico 1
Sheets("foglio5").Select
ActiveSheet.ChartObjects("Grafico 1").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Values = "=Foglio2!R2C" & NCol & ":R" & URiga & "C" & NCol
ActiveChart.ChartArea.Select
Range("A1").Select
End If
'riposiziono il cursore sulla prima cella vuota della colonna F del file originale
Sheets("Foglio1").Select
ActiveWindow.Panes(3).Activate
Worksheets("Foglio1").Range("d").Cells(Range("lastd") + 1, 1).Select
Selection.Offset(0, 0).Select
Selection.NumberFormat = "@"
End Sub

E' incredibile, se il grafico è un oggetto di un foglio il bug sparisce.
Grazie a tutti, ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 16:53

ramset64 ha scritto:Ho risolto...
...
E' incredibile, se il grafico è un oggetto di un foglio il bug sparisce.


Sicuro?
Apri una cartella di excel che abbia 5 fogli (nominati foglio1, foglio2, foglio3 , foglio4, foglio5) dove non ci siano dati e grafici e mentre la macro gira attiva il foglio5 di questa cartella
Cosa succede?

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 28/06/09 17:03

Flash non ho capito cosa mi chiedi..... ho inserito il grafico come oggetto in 60 file, li ho aggiornati tutti e del bug non ci sta traccia. Se faccio la medesima cosa con il grafico su un foglio (non come oggetto) appena aggiorna va tutto in errore.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 17:53

Intendevo che se mentri fai lavorare la macro tieni attiva una cartella di excel vuota con 5 fogli (foglio5) penso che vada in Tilt
Poi penso che avrebbe funzionato anche la precedente macro dove il grafico è un foglio e non oggetto solo se cambi la dicitura in qeusto punto
da
'inserisce i dati nel grafico 1
Sheets("grafico1").Select
a
'inserisce i dati nel grafico 1
Charts("grafico1").Select

prova e fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 28/06/09 18:14

Flash forse non riesco a spiegarmi... la macro iniziale non c'entra nulla, funziona perfetamente.
Il problema è excel 2007. Semplicemente aprendo un file quando ve ne è già un altro aperto (a prescendire che ci siano dati e/o macro), se il file contine un grafico non come oggetto, automaticamente viene cambiato il nome del foglio che contiene il grafico e qundi qualsiasi codice non funzionerebbe visto che il foglio che contiene il grafico cambia nome.
Questo, lo ripeto, anche con cartelle di excel completamente vuote di dati e/o macro.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 18:27

ramset64 ha scritto:Flash forse non riesco a spiegarmi... la macro iniziale non c'entra nulla, funziona perfetamente.
Il problema è excel 2007. Semplicemente aprendo un file quando ve ne è già un altro aperto (a prescendire che ci siano dati e/o macro), se il file contine un grafico non come oggetto, automaticamente viene cambiato il nome del foglio che contiene il grafico e qundi qualsiasi codice non funzionerebbe visto che il foglio che contiene il grafico cambia nome.
Questo, lo ripeto, anche con cartelle di excel completamente vuote di dati e/o macro.


Non ho la possibilità di provare con excel 2007 ma in ogni caso il codice corretto per un foglio grafico non è Sheets ma Charts forse è per questo motivo che excel rinominava i fogli,
prova a usare la prima macro con charts e fai sapere.
E' solo a titolo informativo (visto che hai risolto usando il grafico come oggetto e volendo lo puoi allargare a tutta pagina ottenendo come risultato una visione simile al foglio grafico).

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 28/06/09 19:54

No, flash non è questo il motivo.
Ripeto, anche se i fogli sono TUTTI PRIVI DI DATI E PRIVI DI CODICI VBA il problema del cambio nome foglio si manifesta comunque, il codice non c'entra nulla. Sto parlando di foglio completamente vuoti, quindi non può essere quello il problema.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 20:56

ramset64 ha scritto:No, flash non è questo il motivo.
Ripeto, anche se i fogli sono TUTTI PRIVI DI DATI E PRIVI DI CODICI VBA il problema del cambio nome foglio si manifesta comunque, il codice non c'entra nulla. Sto parlando di foglio completamente vuoti, quindi non può essere quello il problema.
Ciao


Ma cosa significa di fogli completamente vuoti?
Sei tu che dai un nome al foglio grafico con "Grafico1" anzi forse sarebbe opportuno che gli dessi un altro nome
Se lo fai fare da excel è chiaro che lo nomina una volta Grafico1 e poi Grafico2 etc

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 28/06/09 21:26

Eppure pensavo di saper scrivere ......
Parlo di file completamente vuoti, COMPLETAMENTE VUOTI HAI PRESENTE? In merito al foglio in cui è presente un grafico, posso chiamarlo grafico1, foglio5, pippo80 o come ti pare, il risultato è sempre lo stesso. Se ci sta un altro file aperto, excel gli cambia il nome, è cosi difficile? Flash fidati, è un bug.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 28/06/09 23:50

Ma vorrei solo capire se tu con quella macro apri il primo foglio fai l'aggiornamento del grafico1 e poi?
Lo chiudi questo foglio prima di aprire il secondo che è in elenco?
Dalla tua macro non vedo la chiusura del foglio aggiornato.
Non dico che non ci sia un bug in excel 2007 ma quando si aprono più fogli contenenti riferimenti uguali si può incorrere in problemi di questo tipo specialmente con software più "sofisticati" come excel 2007.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 29/06/09 12:03

Guarda ti spiego... all'epoca ho fatto questa prova per avere conferma che si tratta di un bug:

ho creato un file vuoto che contiene una macro che fa questo lavoro:
apre il file1 (vuoto ma con grafico in un foglio che abbia qualsiasi nome), poi lo salva e lo richiude.
poi apre il file2 (vuoto ma con un grafico in un foglio che abbia qualsiasi nome), poi lo salva e lo richiude.

bene, guardando i file che si aprono si nota che il foglio che contiene il grafico cambia continuamente nome....
se il nome originale è grafico1, nell'aprirlo diventa grafico2, se il nome è foglio5 nell'aprirlo diventa grafico1 e cosi via.

Quindi di file aperti ve ne sono 2, quello che contiene la macro di aggiornamento ed 1 dei file da aggiornare.

Ti ripeto che tutti questi file aperti, salvati e chiusi non contengono nessun dato e quindi si aprono e chiudono pur cambiando nome del foglio.

E' evidente che se vi è una macro che fa riferimento al foglio del grafico questa vada in errore.

Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Anthony47 » 29/06/09 13:46

Non ho seguito attentamente questa discussione, ma se il problema e' il nome del foglio che cambia, si puo' pensare di inserire nella macro che va in errore un ciclo di scan dei fogli e trovare quello che si chiama "graficoxx".
Ad esempio
Codice: Seleziona tutto
For I = 1 To ActiveWorkbook.Worksheets.Count
If left(Sheets(I).Name, 7)="Grafico" then
FGraph=Sheets(I).Name : Exit For
End if
Next I
Il nome del foglio sara' contenuto nella variabile FGraph

Spero possa aiutare, 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: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel] autografico

Postdi Flash30005 » 29/06/09 15:28

(Avevo preparato il mio post alle 13:30 ma il server mi ha dato errore fino ad ora, l'ho salvato in attesa di inviarlo e ora lo propongo)

E' evidente a questo punto del bug di excel 2007 che bisognerebbe far presente alla MS
Mi verrebbe voglia di provare questa versione se non avessi un pc non proprio di ultima generazione che quel tipo di office farebbe "soffrire"...
Se hai tempo e vuoi fare un ulteriore tentativo che farei io stesso e che spiego.
Tu hai un CartellaM.xls che ora ha all'interno una macro X che fa aggiornare i grafici dei file-dati contenuti nell'elenco del foglio1.
Mettendo la macro solo di aggiornamento dei grafici all'interno di ogni singolo file-dati di excel che si attiva all'apertura del file stesso (con Workbook open) e nella CartellaM.xls solo il richiamo tramite l'elenco dell'apertura dei file-dati, assicurandosi di chiuderlo dopo aggiornamento, cosa succederebbe?
Anche il risultato di questa esperienza potrebbe essere utile ad altri utenti.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [excel] autografico

Postdi ramset64 » 29/06/09 16:11

Flash succederebbe la stessa identica cosa (il test che ho fatto è cosi addirittura senza la macro di aggiornamento ma solo aprendo e chiudendo i file dati), perchè come si avrebbero 2 file aperti in contemporanea, quello che apre e chiude i file e quello dati.
Grazie anche a Anthony per la soluzione proposta, ma a me va già bene cosi come ho fatto, ovvero inserire i grafici come oggetto in un foglio aggirando cosi il bug.
Saluti a tutti.
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi ramset64 » 29/06/09 18:47

Non ci posso credere.... maledetto excel 2007!
Ieri pensavo di aver risolto mettendo il grafico come oggetto, ho provato e riprovato decine di volte senza alcun problema. Allora mi sono deciso ed ho inserito il grafico in ben 120 file. Li ho aggiornati, tutto ok. Perfetto ho pensato.
Stasera riaggiorno i file e sorpresa.... al terzo file si è riverificato l'errore sulla macro.

Adesso mi toccherà riaprire i file uno ad uno, eliminare il foglio5 e modificare un pò di cose nelle macro... a meno di riuscire a mettere su un codice che mi elimini il foglio5 e mi sostituisce l'intero contenuto un modulo!!!!

:evil: :evil: :evil:
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [excel] autografico

Postdi Flash30005 » 29/06/09 19:04

ramset64 ha scritto:Non ci posso credere.... maledetto excel 2007!
Ieri pensavo di aver risolto mettendo il grafico come oggetto, ho provato e riprovato decine di volte senza alcun problema. Allora mi sono deciso ed ho inserito il grafico in ben 120 file. Li ho aggiornati, tutto ok. Perfetto ho pensato.
Stasera riaggiorno i file e sorpresa.... al terzo file si è riverificato l'errore sulla macro.

Adesso mi toccherà riaprire i file uno ad uno, eliminare il foglio5 e modificare un pò di cose nelle macro... a meno di riuscire a mettere su un codice che mi elimini il foglio5 e mi sostituisce l'intero contenuto un modulo!!!!

:evil: :evil: :evil:


Stavo pensando che potresti non usare Excel ma far girare la macro in Word, in questo caso avresti solo il foglio con i dati e grafico da aggiornare (un foglio attivo alla volta) e non dovrebbe andare in tilt.
Se ti interessa questa soluzione potremmo realizzarla.

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[excel] autografico":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti