Anthony47 ha scritto:Quindi sono dati esterni; ma non mi dici da dove vengono presi (file xls aperti sul Pc, presi da un server in rete; quando e da chi vengono modificati) e come vengono importati (la formula che usi in V18:V66)
Si sono dati esterni provengono sia dallo stesso Pc che dalla rete, la formula in V18:V66 è una semplice somma di due celle dello stesso foglio ma ognuna di queste due celle ha collegamenti esterni alla cartella (file esterni appunto rete e PC).
Anthony47 ha scritto:Come pure immagino che il codice postato alle 13:34 sia stato solo un prototipo ampiamente superato.
Non proprio superato
perché come ti dicevo non tutte le righe della colonna hanno bisogno di essere rappresentate dalle "immagini" (dopo la V18, V19 magari ho la V21 interessata all'immagine e non la V20 anche se quest'ultima ha la stessa formula delle altre ma non è "significante", in pratica delle 48 celle (da V18 a V66 solo 36 sono interessate alle immagini le altre 12 non devono essere rappresentate) quindi ho dei "buchi" a livello di immagine ma non di calcolo) e pertanto dovrei forse creare un vettore delle sole celle interessate che permetterebbe forse di realizzare uno script più "snello" ma mi farebbe perdere molto più tempo per l'inconvenienti che potrei incontrare sia nel farlo che nel testarlo
Anthony47 ha scritto:Alla cieca: prova a sfruttare una macro sull' evento "Calcola" (Private Sub Worksheet_Calculate(), da inserire sul modulo del "Fogliox")
Già fatto! Ma credo (di prove ne ho fatte tante e non ricordo bene) che le immagini si aggiornino e proprio perché viene ricalcolato l'intero foglio con le 36 modifiche processate (riguardo alle immagini) mi viene disabilitata la funzione Annulla (del resto cosa andrebbe ad annullare? l'ultima immagine cambiata e non l'eventuale variazione fatta, c'è anche da dire che il problema potrebbe essere solo per me che cercando di testare la routine modificavo una o più formule formula (per vedere l'effettivo funzionamento della macro): non potevo "tornare indietro", per l'utente invece non dovrebbe avere questo inconveniente visto che non deve modificare le celle di quel foglio, però la cosa non mi aggrada molto ed è per questo che volevo limitare l'aggiornamento solo quando avviene una variazione con il ricalcolo dei valori della colonna V e Private Sub Worksheet_Calculate non permette, o almeno credo, di impostare un range come il Private Sub Worksheet_Change
Anthony47 ha scritto:Inoltre se i dati provengono da fogli esterni, sara' necessario aggiornare periodicamente i dati, con una macro rischedulata col metodo "OnTime":
Ad esempio questa aggiorna tutti i collegamenti del file (da mattere nella macro temporizzata):
- Codice: Seleziona tutto
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
Non sono io il creatore né l'utilizzatore di quei fogli di calcolo e se sono andati bene fino ad oggi... dovrei analizzare tutto quel lavoro (molto complesso)?
Anthony47 ha scritto:Oppure prova a chiarire le domande sui dati e sui collegamenti che usi, forse si puo' fare qualcosa di meglio.
Sicuramente si può fare qualcosa di meglio (io sono un perfezionista ma in questo caso vorrei limitarmi alle immagini)
Anthony47 ha scritto:Infine una domanda semi-cruciale: che cosa rappresentano le immagini che attivi o disattivi?
E veniamo al dunque, ti dicevo che quel foglio è il risultato ultimo di una "marea" di dati provenienti da altri fogli e da altre cartelle quindi è un prospetto finale che mette in risalto le differenze tra il Budget Teorico di Produzione e la Produzione Reale e la colonna V è quella utilizzata per la differenza tra BTP e PR a fianco del valore della differenza oggi si usa mettere in ogni prospetto un disegno che mostri immediatamente in maniera inequivocabile l'andamento di quei valori e per questo vengono applicati gli smile (Triste, Normale, Sorridente). L'utente gestore del foglio cominciò a metterli manualmente ma visto il gran numero di smile da spostare nella maniera corretta e al posto giusto alla fine ha rinunciato cosicché si è rivolto a me per la risoluzione di quel problema.
Io ho pensato di sovrapporre i disegni dei tre stati d'animo e creato la macro e la macro funzionante attraverso un pulsante "Aggiorna Riferimento" situato sopra il primo disegno è già un grande passo avanti ma avrei voluto che l'aggiornamento fosse automatico senza, però, inficiare le opzioni del foglio di excel (tipo Annulla).
-----------------------------
Ho anche pensato di memorizzare in una variabile il valore iniziale di ogni cella interessata e poi, dopo ogni aggiornamento del foglio, confrontare quella variabile con il il dato ottenuto dall'aggiornamento del foglio, in caso di differenza tra i due valori apparirà la faccina adeguata al nuovo valore, modificando solo quelle delle celle variate.
Che ne pensi?