Riccardo vorrebbe, se possibile, un modo per animare un “conteggio” come valore per una cella. Ad esempio, nella cella B7 potrebbe avere un valore di 23. Vorrebbe fare riferimento a quel valore nella cella E4 e far contare la cella E4 da 0 a 23 (0, 1, 2, 3, ecc.), mostrando ogni numero per un breve periodo di tempo.
Non esiste un modo integrato per farlo in Excel, ma puoi utilizzare una macro per eseguire l’animazione. Fondamentalmente, la macro dovrebbe scoprire cosa c’è nella cella B7 e quindi utilizzare un ciclo For…Next per scorrere i valori tra 0 e qualunque cosa ci sia in B7. Durante ogni iterazione del ciclo, il valore in E4 verrebbe modificato, introducendo una sorta di ritardo.
La parte della macro che gestisce il ritardo è ciò che effettivamente fornisce la possibilità di variare il modo in cui la macro esegue il proprio lavoro. Il ritardo è necessario affinché l’animazione sembri funzionare; senza di esso, i numeri in E4 aumenterebbero troppo rapidamente. Excel fornisce un paio di modi pratici per implementare il ritardo. Ad esempio, questo esempio di macro si basa sulla funzione Sleep:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questo codice dovrebbe essere aggiunto al modulo di codice del foglio di lavoro, poiché è progettato per essere eseguito ogni volta che qualcosa cambia nel foglio di lavoro. Puoi raggiungerlo facendo clic destro sulla scheda del foglio di lavoro e scegliendo “Visualizza codice”..
Il codice verifica se la cella modificata è la cella di destinazione (B7). Se lo è, allora prende il valore presente in quella cella e passa in un ciclo For…Next che aggiorna tutto ciò che è nella cella E4. La funzione Sleep viene utilizzata per ritardare, in questo caso, 200 millisecondi tra ogni aggiornamento di E4.
Se desideri una macro più breve che non si basi sul gestore di eventi Worksheet_Change, potresti prendere in considerazione quanto segue. Utilizza il metodo Wait per mettere in pausa il ciclo For…Next:
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questa versione della macro fa una pausa di un secondo intero tra ciascun aggiornamento della cella E4.
Ogni volta che usi una macro come questa che implementa una sorta di ritardo, ricorda che il tuo foglio di lavoro potrebbe sembrare meno reattivo. Ciò è dovuto al ritardo e all’entità del valore presente nella cella B7 (maggiore è il valore, maggiore è il ritardo totale).