Excel: creare un Orologio con VBA
Excel: creare un orologio con VBA
In questo video tutorial scriviamo il codice VBA per creare un orologio che scandisca i secondi. All’orologio associamo un pulsante start e un pulsante stop.
Per prima cosa apriamo Excel e salviamo il file ancora vuoto con estensione .xlsm (cartella di lavoro con attivazione macro):
Ora, per creare un orologio con Excel, accediamo all’editor Visual Basic premendo la combinazione di tasti ALT + F11. Ora clicchiamo col tasto destro sull’area bianca e inseriamo un modulo.
Nel nuovo modulo inseriamo il seguente codice (sotto trovi una spiegazione dettagliata del codice VBA per creare l’orologio)
Dim clockRunning As Boolean
Sub StartClock()
clockRunning = True
UpdateClock
End Sub
Sub StopClock()
clockRunning = False
End Sub
Sub UpdateClock()
If clockRunning = True Then
Range("A1").Value = time
Application.OnTime Now + TimeValue("00:00:01"), "UpdateClock"
End If
End Sub
Ora salviamo il codice inserito e chiudiamo l’editor VBA.
A questo punto creiamo i pulsanti per avviare e fermare l’orologio.
Per prima cosa andiamo nel menù inserisci -> forma.
Trascinando il cursore del mouse sul foglio, disegniamo il bottone, poi clicchiamo con il tasto destro e scegliamo la voce assegna macro:
Dalla finestra scegliamo la macro StartClock (questo pulsante, quindi, avvierà l’orologio).
Per scrivere all’interno dell’oggetto clicchiamoci ancora sopra con il tasto destro del mouse e scegliamo l’opzione modifica testo.
A questo punto scriviamo quello che desideriamo all’interno del bottone, per esempio START:
Facciamo la stessa cosa per creare un pulsante che ci permetta di interrompere l’esecuzione dell’orologio (ovviamente a questo secondo bottone assegneremo la macro StopClock):
Ecco una spiegazione dettagliata delle righe di codice VBA per creare l’orologio in Excel:
Dim clockRunning As Boolean
Questa riga di codice crea una variabile globale chiamata clockRunning di tipo Booleano (vero/falso) e verrà utilizzata per registrare lo stato dell’orologio (in esecuzione o fermato).
Sub StartClock()
clockRunning = True
UpdateClock
End Sub
Questa è la macro StartClock che viene chiamata quando si vuole avviare l’orologio. La prima riga imposta la variabile clockRunning a True, indicando che l’orologio è in esecuzione. La seconda riga chiama la macro UpdateClock, che è responsabile dell’aggiornamento dell’orologio.
Sub StopClock()
clockRunning = False
End Sub
Questa è la macro StopClock che viene chiamata quando si vuole fermare l’orologio. La riga di codice imposta la variabile clockRunning a False, indicando che l’orologio è fermato.
Sub UpdateClock()
If clockRunning = True Then
Range(“A1”).Value = time
Application.OnTime Now + TimeValue(“00:00:01”), “UpdateClock”
End If End Sub
Questa macro aggiorna l’orologio posizionato nella cella A1. Se la variabile “clockRunning” è impostata su vero, la macro imposta il valore della cella A1 come l’ora corrente e programma una nuova chiamata alla macro “UpdateClock” tra un secondo. In questo modo, l’orologio visualizzato nella cella A1 verrà aggiornato ogni secondo finché la variabile “clockRunning” rimarrà vera.
Guarda il video tutorial della lezione 👇👇👇
Ti ricordo che tramite il pulsante rosso potrai scaricare l’esercizio risolto di questa lezione.
Se la lezione ti è stata utile Lasciami un like 👍 per supportarmi e lasciami un commento per dirmi he sei passato di qua 🥰
P.S.
Seguimi sui social:
Un caro saluto e a presto!!! 😊