Creazione di un cronometro in Excel (stile di base + Toastmasters)

Mentre lavoravo in IBM, facevo parte di un club ToastMasters International. È un luogo in cui puoi migliorare le tue capacità di comunicazione e leadership.

Una sezione interessante degli incontri settimanali era il discorso estemporaneo. In questa parte dell'incontro, a una persona è stato dato un argomento e lui/lei ha dovuto parlarne per 2 minuti. C'era una persona designata che era solita cronometrare il discorso e mostrava un cartellino verde a 1 minuto, un cartellino giallo a 1:30 minuti e un cartellino rosso dopo 2 minuti.

Di solito, per cronometrare il discorso viene utilizzato uno smartphone o un orologio e il tempo impiegato viene registrato manualmente su un foglio.

Capita spesso che la persona si dimentichi di mostrare le carte colorate oa volte si dimentichi di registrare i tempi per gli oratori (a me succedeva sempre). Con queste cose in mente, ho creato un cronometro in Excel che aiuterebbe a cronometrare e registrare i discorsi.

Impariamo prima come creare un cronometro di base in Excel.

Come creare un cronometro in Excel (di base)

Per cronometro semplice/di base in Excel, intendo qualcosa che si avvia quando premiamo il pulsante di avvio e si ferma quando premiamo il pulsante di arresto.

Qualcosa come mostrato di seguito:

Scarica questo cronometro di base in Excel

Per creare questo cronometro in Excel, devi conoscere il Applicazione.Puntuale metodo in VBA.

Metodo Application.OnTime in VBA

Il metodo Application.OnTime può essere utilizzato quando si desidera eseguire un codice specificato in futuro. Ad esempio, puoi usarlo per mostrare una finestra di messaggio per ricordarti di alzarti e sgranchirti le gambe dopo 1 ora o di assumere medicinali dopo 3 ore.

Sintassi del metodo Application.OnTime:

Applicazione.OnTime(PrimaOra, Procedura, UltimeOra, Programma)

  • EarlyTime: l'ora in cui si desidera eseguire la procedura.
  • Procedura: il nome della procedura da eseguire.
  • LatestTime (Facoltativo): nel caso in cui sia in esecuzione un altro codice e il codice specificato non possa essere eseguito all'ora specificata, è possibile specificare il LatestTime per il quale deve attendere. Ad esempio, potrebbe essere EarlyTime + 45 (il che significa che attenderà 45 secondi per il completamento dell'altra procedura). Se anche dopo 45 secondi la procedura non può essere eseguita, viene abbandonata. Se non lo specifichi, Excel attenderà l'esecuzione del codice, quindi lo eseguirà.
  • Pianificazione (Facoltativo): Se impostato su True, pianifica una nuova procedura temporale. Se False annulla la procedura precedentemente impostata. Per impostazione predefinita, questo è True.

Un esempio di applicazione. Metodo OnTime

Sub test() Application.OnTime Now + TimeValue("00:00:05"), "ShowMessage" End Sub Sub ShowMessage() MsgBox ("HELLO") End Sub

La prima parte della macro utilizza il metodo Application.OnTime ed esegue la procedura ShowMessage (tra virgolette) dopo cinque secondi. La procedura ShowMessage mostra semplicemente la finestra di messaggio con il prompt HELLO.

È possibile utilizzare questo formato per eseguire qualsiasi procedura dopo un'ora specificata dall'ora corrente.

Ora usando questo concetto, diamo un'occhiata al codice per creare un semplice cronometro in Excel.

Dim NextTick As Date, t As Date Sub StartStopWatch() t = Time Call StartTimer End Sub Sub StartTimer() NextTick = Time + TimeValue("00:00:01") Range("A1").Value = Format(NextTick - t - TimeValue("00:00:01"), "hh:mm:ss") Application.OnTime NextTick, "StartTimer" End Sub Sub StopTimer() On Error Resume Next Application.OnTime EarlyTime:=NextTick, Procedure:= "StartTimer", Schedule:=False End Sub

Questo codice ha 3 parti:

  • La prima parte inizializza l'ora corrente alla variabile t. Quindi chiama un'altra procedura StartTimer.
  • La procedura StartTimer utilizza una variabile NextTick che viene incrementata di 1 ogni secondo che passa. Nel foglio di lavoro, la cella A1 ha il timer in esecuzione poiché abbiamo specificato NextTick - t -TimeValue ("00:00:01"), "hh:mm:ss") come valore in quella cella. Quindi esegue nuovamente il codice StartTimer ogni secondo.
  • StopTimer annulla la procedura Application.Ontime impostando il valore di pianificazione su False. Questo ferma il timer.

Ecco cosa otterrai con il codice sopra (ho assegnato le macro ai pulsanti di avvio / arresto):

Questo è un cronometro di base in Excel.

Lo chiamo di base in quanto non puoi fermarti a metà e ricominciare da dove avevi lasciato. Ripartirà sempre da 1 quando si preme il pulsante di avvio.

Ora che hai appreso le basi del metodo Application.OnTime, puoi facilmente modificarlo per creare qualsiasi tipo di cronometro desideri in Excel.

Cronometro in Excel (per ToastMasters)

Ho usato il concetto discusso sopra e ho creato un cronometro in Excel che può essere utilizzato nella riunione Toastmasters (che ho menzionato all'inizio di questo tutorial).

Ecco le cose che si possono fare usando questo cronometro:

  • Puoi fermare il timer e poi ricominciare dallo stesso tempo (registrato fino a quel momento).
  • Puoi reimpostare il timer. Questo imposta il valore del timer su 0. Non appena lo fai, registra automaticamente il tempo totale trascorso.
  • Cambia il colore della casella del timer, a seconda del valore del cronometro (questo potrebbe essere un buon promemoria per mostrare i cartellini verde/giallo/rosso).

Ecco come appare:

In questa demo sopra, ho impostato il cambio di colore ogni cinque secondi. È possibile specificare facilmente quando si desidera che il colore cambi (cartellino verde a 1 minuto, cartellino giallo a 1,5 minuti e cartellino rosso a 2 minuti) modificando i valori nel foglio di calcolo.

Non appena si preme il pulsante di ripristino, il colore del timer tornerà bianco, il valore del timer diventerà 0 e registrerà il tempo nella colonna G.

Nota: poiché questi file contengono macro, dovrai abilitare le macro prima di utilizzarlo. Quando apri la cartella di lavoro, vedrai un pulsante giallo - Abilita contenuto. Fare clic su di esso per abilitare le macro.

Se crei qualcosa di interessante usando un timer, condividilo con me.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave