Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Aggiornamento automatico di oggetti in excel

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

Aggiornamento automatico di oggetti in excel

Postdi Flash30005 » 27/09/07 23:58

Ho una colonna (es.C) che è la somma delle celle nelle colonne A e B
Le righe sono circa 60 ad ogni riga (risultato in C1...60) ho degli If che mi modificano degli oggetti oppure più semplicemente mettere un valore X in nella colonna D in corrispondenza della riga in questione.
Tutto questo deve avvenire al variare della del valore contenuto nella cella relativa della colonna C
Es.
A1 = 2
B1 = 5
C1 = 7 (A1+B1)
D1 = "Buono" (se C1 è da 0 a 10) "Pessimo" (se C1 è negativo) è "Ottimo" (se C1 > 10)
Variando A1...60 o B1...60 avrò conseguentemente una variazione in C1...60 e su D1...60 ottenere il corrispondente "testo" o oggetto indicato.
Ho realizzato una macro inserendola in
Private Sub Worksheet_Change(ByVal Target As Range)
(o calculate) ma così facendo essa interviene ad ogni variazione dell'intero foglio mentre desiderei realizzarla solo alla variazione del range ineteressato (appunto della colonna C - riga 1...60)
Chi mi può aiutare?

P.s: Ho notato che con queste 60 variazioni mi viene anche disabilitata la funzione Annulla (freccia per tornare indietro), come mai?
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

precisazione

Postdi Flash30005 » 28/09/07 08:03

Correggo quanto sopra detto.. non è un testo da far variare nella colonna D perché se così fosse basterebbe una semplice formula condizionale (SE) e si aggiornerebbe ad ogni variazione delle celle in C, ma si tratta di oggetti (immagini) e qui il discorso si complica un tantino....
Ecco perché ho usato una macro che si deve attivare (automaticamente) al variare del valore di C1...C60, meglio se questa variazione avvenisse di volta in volta per ogni singola cella (variazione di C1 = variazione Immagine 1, variazione di C2 = variazione Immagine 2 ... e infine variazione C60 con conseguente variazione Immagine 60 e non aggiornamento delle 60 immagini al variare di ogni singola cella del range considerato)
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 28/09/07 11:20

Ciao flash e benvenuto nel forum

Sarebbe stato meglio se avessi postato il codice scritto; comunque se vuoi controllare che la macro sia invocata dalle celle C1:C60 puoi usare qualcosa come
Codice: Seleziona tutto
If Intersect(Target, Range("C1:C60")) Is Nothing Then Exit Sub


Per quanto riguarda la gestione di immagini/forme, ci sono state recentemente un paio di discussioni che dovresti guardare:
http://www.pc-facile.com/forum/viewtopic.php?t=65495
http://www.pc-facile.com/forum/viewtopic.php?t=64264

Credo che il tuo problema potra’ essere risolto guardando l’ indirizzo dela cella modificata (target.adddress) e poi cercando l’ immagine che abbia come topleftcell.address quello di target, con qualcosa come
Codice: Seleziona tutto
For Each Pict In ActiveSheet.Shapes
  NomeImm = Pict.Name
  If Pict.TopLeftCell.Address = Target.address Then Exit For
Next Pict

A questo punto hai nella variabile NomeImm il nome dell' immagine da manipolare.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Anthony47 » 28/09/07 11:24

Errore, devi usare:
If Intersect(Target, Range("A1:B60")) Is Nothing Then Exit Sub

(sono le celle che cambiano)

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Flash30005 » 28/09/07 12:34

Anthony47 ha scritto:Errore, devi usare:
If Intersect(Target, Range("A1:B60")) Is Nothing Then Exit Sub

(sono le celle che cambiano)

Ciao.


Ti ringrazio per il benvenuto nel forum e saluto tutti coloro che contribuiscono alla sua crescita.
E un ringraziamento anche per la tua immediata risposta.

Venendo al mio problema e alla soluzione da te fornita c'è da dire che così funziona l'aggiornamento ma...(ti posto parte dello script):

----------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "A18:V66"
If Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub

For I = 176 To 283
ActiveSheet.Shapes("AutoShape " & I).Visible = False
Next I

If Range("v18") < 0 Then ActiveSheet.Shapes("AutoShape 176").Visible = True
If Range("v18") = 0 Then ActiveSheet.Shapes("AutoShape 177").Visible = True
If Range("v18") > 0 Then ActiveSheet.Shapes("AutoShape 178").Visible = True
If Range("v19") < 0 Then ActiveSheet.Shapes("AutoShape 179").Visible = True
If Range("v19") = 0 Then ActiveSheet.Shapes("AutoShape 180").Visible = True
If Range("v19") > 0 Then ActiveSheet.Shapes("AutoShape 181").Visible = True
etc
...
End Sub
----------------------------------------------------------------------------

...Prendendo l'intera area da A a V mi si disabilita il comando annulla ecco perché avrei voluto restringere il campo alla sola colonna V ma come dici tu pur cambiando il valore (conseguenza della formula immessa) la macro non funziona.
Se ad esempio io modifico il valore in A18 non ho più la possibilità di ripristinare con annulla il valore precedente (almeno con lo script così impostato).
Hai qualche dritta da darmi?

ciao e grazie ancora
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Flash30005 » 28/09/07 12:43

Ho letto anche il post riguardante le immagini da inserire, purtroppo le righe interessate nel mio foglio non sono continue (le immagini invece si) e non posso o non credo di poter creare una routine sequenziale.
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Flash30005 » 28/09/07 16:52

Sono stato a scervellarmi fino ad ora senza ottenere alcun risultato in quanto il foglio interessato non è altro che il risultato di formule provenienti da altri fogli e/o cartelle quindi l'utente non andrà mai a modificare, in senso attivo, nessuna delle celle nel range (A18:V66) e l'istruzione fornita nella macro prevede solo il cambiamento in forma attiva e non la variazione del valore della cella tipo update o altro (mi sembra strano che non si possa ottenere questo controllo con excel).
Quindi penso che se esiste un controllo di variazione del VALORE di una o più celle (anche se essa non e stata modificata fisicamente) vale la pena utilizzarlo altrimenti dovrò ritornare sui miei passi e realizzare una macro con gli stessi codici postati precedentemente e fare il link di lancio della macro su una casella testo posizionata nel foglio delle immagini per ottenere l'aggiornamento delle stesse.
Cosa mi consigli?
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 28/09/07 18:12

Sovrapponendo il messaggio delle 17:52 con quello delle 13:34 e quello iniziale non capisco se nel tuo foglio ci sono celle che subiscono un cambiamento per Entry di dati (se SI, quali sono? A1:B60, A1:V66, o ??)o ricopiano dati esterni quindi senza eventi Worksheet_Change.
E se sono dati esterni, da dove vengono presi e come vengono importati?

Quale e' la reale situazione?
Ciao, fatti sentire.
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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Flash30005 » 28/09/07 19:05

Anthony47 ha scritto:Sovrapponendo il messaggio delle 17:52 con quello delle 13:34 e quello iniziale non capisco se nel tuo foglio ci sono celle che subiscono un cambiamento per Entry di dati (se SI, quali sono? A1:B60, A1:V66, o ??)o ricopiano dati esterni quindi senza eventi Worksheet_Change.
E se sono dati esterni, da dove vengono presi e come vengono importati?

Quale e' la reale situazione?
Ciao, fatti sentire.


Il foglio in questione è un resoconto generale ed è costituito prettamente da formule somma di celle che possono essere anche su cartelle diverse (altri file.xls) quindi l'utente non modifica materialmente nessuna delle celle di questo foglio ma in esse possiamo rilevare solo la variazione del valore (risultato della formula).
La colonna che deve far variare le immagini è la colonna V più precisamente da V18 a V66 in queste celle c'è una semplice una formula.
Esiste un comando che testa se il valore di una cella è cambiato?
O meglio posso dare delle condizioni in VBA al variare del valore contenuto in una o più celle?
In effetti se mi trovassi nel foglio elettronico e dovessi inserire un testo come da mio primo post (Pessimo, buono o ottimo) excel esegue subito l'aggiornamento e nella cella con la condizione avrò il testo appropriato della colonna V anche se in essa ci sono solo formule ma non riesco ad ottenere la stessa cosa con lo script.
Spero di essere stato un tantino più chiaro.
ciao
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Flash30005 » 28/09/07 19:47

... per essere più esplicito il foglio che contiene anche le immagini (che dovrebbero cambiare) contiene solo formule (che non vanno cambiate) quindi le celle nella colonna V (dalla riga 18 alla 66) subiscono solo una variazione del risultato finale (da numero negativo a 0 fino ad un numero positivo) a fianco di ogni cella di questa colonna c'è l'immagine relativa che non si aggiorna se non modifico la cella stessa (cosa che non devo fare).
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 28/09/07 21:44

Anthony47 ha scritto:E se sono dati esterni, da dove vengono presi e come vengono importati?


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)

Come pure immagino che il codice postato alle 13:34 sia stato solo un prototipo ampiamente superato.

Alla cieca: prova a sfruttare una macro sull' evento "Calcola" (Private Sub Worksheet_Calculate(), da inserire sul modulo del "Fogliox")

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



Oppure prova a chiarire le domande sui dati e sui collegamenti che usi, forse si puo' fare qualcosa di meglio.

Infine una domanda semi-criciale: che cosa rappresentano le immagini che attivi o disattivi?

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Anthony47 » 28/09/07 21:46

Errata: semi-criciale
Corrige: semi-cruciale

Ri-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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

a proposito

Postdi Flash30005 » 29/09/07 00:24

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 :oops: 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)? :undecided: :eeh:

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?
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 29/09/07 09:36

Smiles, come sospettavo...

Allora prova a mettere in W18 =SE(V18<-10;"L";SE(V18>10;"J";"K"))

Poi formatta in Wingdings; puo' andare bene cosi'?

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Flash30005 » 29/09/07 13:36

Anthony47 ha scritto:Smiles, come sospettavo...

Allora prova a mettere in W18 =SE(V18<-10;"L";SE(V18>10;"J";"K"))

Poi formatta in Wingdings; puo' andare bene cosi'?

Ciao.


Si, così funziona usando il carattere Wingdings e inserendo la formula nella casella adiacente... ma non è a colori come gli smiles che ho io che sono delle vere e proprie immagini con colore pieno della faccina e le linee del disegno nero (triste rossa, normale gialla e sorridente verde) anche mettendo la formattazione condizionale colora solo il carattere cioè i lineamenti e non tutta la faccina oppure colorando l'intera cella con il colore sopra menzionato e lasciare i lineamenti neri va già meglio.
La tua è un'ottima soluzione proverò a proporla lunedì p.v.
grazie

P.s. rimane comunque il dubbio che excel non preveda il "controllo" di variazione del valore relativo a un range di celle :roll:
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 29/09/07 20:59

Ciao flash,
quanto proposto (le faccine wingdings) e’ semplice e diretto; giocando con la formattazione condizionale puoi avere qualche effetto grafico in piu’ (es. sfondo rosso, giallo, verde).
Ci sono altri simboli che potresti valutare, vedi tutta la sequenza ABCDEFGHIJKLM (formattando wingdings).

Per quanto riguarda il dubbio “che excel non preveda il "controllo" di variazione del valore relativo a un range di celle”, il mio commento e’ che d’ altra parte excel non prevede “tutto” ma quasi tutto puo’ essere fatto utilizzando le funzionalita’ offerte.
Nel caso specifico potresti farti una “copia valori” delle celle che ti interessano in un’ area di servizio; sempre nell’ area di servizio con la formula tipo
Codice: Seleziona tutto
=SE(cella origine=copia;0;1)
marchi con “1” ogni cella diversa tra l’ origine e l’ area di servizio, quindi sommi tutti i marker in modo da sapere subito se ci sono stati cambiamenti; sempre sull’ area di servizio con la formula
Codice: Seleziona tutto
=CONFRONTA(1;area dei marker;0)
identifichi la prima cella che e’ diversa;
Poi con l’ evento Worksheet_Calculate esamini il contatore di marker e se 0 esci subito; altrimenti identifichi la prima cella diversa (puntata col Confronta), ci fai il lavoro che devi farci (il cuore della tua macro), aggiorni quel valore sull’ area di copia; poi ripeti finche’ il contatore di marker non ti dice “zero”.
Oppure fai questo lavoro con una macro eseguita periodicamente col metodo “OnTime”; mi sto’ immaginando infatti che non hai bisogno di una applicazione real time. D’ altra parte tutti i collegamenti con file di rete o residenti sul Pc ma non aperti vengono aggiornati a mano (su comando) o all’ apertura del tuo file...
Questo se vuoi insistere con la macro.

Un altro metodo potrebbe essere quello di far muovere una “scroll bar” la cui cella di controllo sia la tua V18 su uno sfondo di 5-6 celle colorate dal rosso al verde, di larghezza opportuna, in modo da avere visibilmente la rappresentazione di dove stiamo con quella grandezza.
Oppure di simulare una scroll bar con qualcosa come
Codice: Seleziona tutto
=RIPETI("n";SE(V18>-10;V18+10;0))&"n"
(formattato wingdings), sempre su sfondo di celle colorate; nel caso del RIPTETI, quel “10” va dimensionato sul minimo valore che si vuol rappresentare in modo dinamico (tutti i valori inferiori rimangono su una sola “tacca”).

Insomma le combinazioni sono tante; per me le piu’ efficaci sono quella delle faccine wingdings e quella dell’ indicatore ottenuto con Ripeti.

Per quanto riguarda “annulla”, dopo una macro che ha fatto 100 calcoli e’ difficile per excel capire cosa dovrebbe annullare; ma tieni presente che l’ effetto Change o Calculate si ottiene anche solo facendo F2 sulla formula (edit) e poi subito Enter, in pratica senza cambiare nulla.

Ciao, facci sapere.
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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Anthony47 » 29/09/07 21:11

Ancora una raccomandazione sulle macro di evento:
-all' inizio e' bene mettere l' istruzione
Codice: Seleziona tutto
Application.EnableEvents = False
e alla fine
Codice: Seleziona tutto
Application.EnableEvents = True
per impedire che altri eventi simili rilanciano la macro all' infinito, fino al crash di excel.
Mi raccomando di fare in modo che sempre prima dell' uscita ci sia il Application.EnableEvents = True, altrimenti gli eventi rimangono spenti e vanno riaccesi dando Application.EnableEvents = True in modalita' "Immediata" (si attiva dal vba editor con Contr-g).

Inoltre, per velocizzare le istruzioni (o anche solo per evitare lo "sfarfallamento" sul monitor) potrebbe essere utile un
Codice: Seleziona tutto
Application.ScreenUpdating = False
all' inizio seguita da
Codice: Seleziona tutto
Application.ScreenUpdating = True
alla fine (anche se = True non e' indispensabile, visto che la fine macro abilita sempre).

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

A proposito di...

Postdi Flash30005 » 01/10/07 14:06

x Antony47, certo che sei un pozzo di scienza in excel e, penso, non solo in quello, complimenti!

Il problema delle faccine è risolto nella maniera che mi hai indicato (formattando wingdings) hanno riscosso maggior successo per la semplicità dell'uso di excel senza dover ricorrere a complicate macro che in caso di aggiunte di righe dovevano essere modificate mentre ora basta copiare la riga per avere una nuova riga già formattata e funzionale, GRAZIE.

Ora però per sete di conoscenza e a livello personale ti chiederei di spiegarmi meglio la funzione:

[quote="Anthony47]
Codice:
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
[/quote]

credo che sia un codice da mettere in una macro e mi domando se è possibile inserirla anche nei database di access, in questo caso come? Nel form? e ancora è necessario lanciare il database oppure si aggiorna da solo senza l'intervento umano?
Ho diversi database che vengono aggiornati all'apertura del form o tramite pulsante di comando ma hanno sempre bisogno di essere aperti dall'utente se con quel comando fosse possibile far aggiornare il database da solo non sarebbe affatto male ;)
ciao e grazie ancora
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Postdi Anthony47 » 02/10/07 00:49

Stavolta temo di deluderti, ma sui database sono un incompetente.

Comunque, l’ istruzione da te quotata (ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources) in excel comanda l’ aggiornamento di tutti i collegamenti ad altri fogli excel (o meglio: cartelle di lavoro) che non sono aperti sul Pc dove e’ in esecuzione il codice.

Mi pare che ci siano parecchi esperti access sul forum; io proverei ad aprire un post specifico, vedrai che qualcuno si fara’ sentire.

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: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Aggiornamento automatico di oggetti in excel":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti