Timer VBA - Esempi per utilizzare la funzione timer VBA di Excel

Funzione Excel VBA TIMER

VBA Timer è una funzione incorporata utilizzata per darci il valore frazionario dei secondi, è una funzione molto utile che viene utilizzata a volte per mettere in pausa qualsiasi set di codici in esecuzione o riprenderli sulla base del tempo fornito dall'utente, il timer è semplicemente usato come dichiarazione in VBA con l'input del tempo.

In termini semplici, il TIMER fornisce il numero totale di secondi trascorsi dalla mezzanotte del giorno corrente. Fin dalla prima riga del codice, possiamo effettivamente tenere traccia del tempo impiegato dal nostro codice per completare il processo specificato nella sottoprocedura.

A volte, quando scrivi un codice e vuoi testarne la durata, cioè qual è il tempo totale impiegato dal tuo codice per completare la sottoprocedura. Testando la durata effettiva del codice, è possibile rendere il codice efficiente ed eliminare il processo che richiede tempo eliminando i codici lunghi o indesiderati dal modulo.

Come utilizzare la funzione TIMER in VBA?

Come ho detto che la funzione TIMER ritorna, il totale dei secondi trascorsi dalla mezzanotte della data corrente. Quando scrivo questo articolo, l'ora in India è 13:50:45.

Ho creato un nome di macro e assegnato il valore di TIMER nella finestra di messaggio VBA.

Codice:

Sub Timer_Example1 () MsgBox Timer End Sub

Quando eseguo questo codice, ho ottenuto il risultato come 50480.08.

Questo è il totale dei secondi trascorsi dalla mezzanotte di oggi, cioè dalle 00:00.

Quindi dalla mezzanotte 12 all'ora corrente 14:01:20, un totale di 14 ore 1 minuto e 20 secondi passati. In secondi è pari a 50480.08, che è dato dalla nostra funzione TIMER.

Esempi

Esempio # 1: calcola il tempo totale impiegato dal tuo codice

Ora eseguiremo una semplice codifica per testare il tempo impiegato dal VBA per eseguire la procedura. Ho scritto del codice, come mostrato nell'immagine sottostante.

Codice:

Sub Do_Until_Example1 () Dim ST As Single ST = Timer Dim x As Long x = 1 Do Until x = 100000 celle (x, 1) .Value = xx = x + 1 Loop MsgBox Timer - ST End Sub

Se eseguo questo codice ora, mi mostrerà il tempo totale impiegato da VBA per l'esecuzione.

Dice 3.058594. Il risultato fornito da questa funzione è in secondi, ovvero il tempo totale impiegato da questo codice è 3.058 secondi.

Affinché tu possa utilizzare il codice, ho scritto il codice seguente per te.

Codice:

Sub Timer_Example1 () Dim StartingTime As Single StartingTime = Timer 'Inserisci il tuo codice qui' Inserisci il tuo codice qui 'Inserisci il tuo codice qui' Inserisci il tuo codice qui MsgBox Timer - StartingTime End Sub

Usa quanto sopra e digita il tuo codice dopo il codice StartingTime = Timer, ma prima del codice MsgBox Timer - StartingTime, cioè in un'area verde, devi inserire il tuo codice.

Spiegazione: In primo luogo, la variabile StartingTime = Timer significa che al momento dell'esecuzione del codice è uguale al tempo trascorso dalla mezzanotte al tempo di esecuzione del codice.

Timer - StartingTime: Significa dopo aver eseguito il codice, qual è il tempo trascorso meno il tempo registrato all'inizio del codice nel tempo di inizio variabile .

Questo darà la differenza tra l'ora di inizio e l'ora di fine e restituirà il risultato.

Esempio n. 2: mostra il risultato nel formato ora corretto

Come abbiamo visto, il risultato dato dalla funzione è in secondi ma non in un formato accurato. Tuttavia, possiamo applicare un formato ora VBA al risultato finale utilizzando la funzione FORMAT.

Utilizzare il codice seguente per visualizzare il risultato nel formato dell'ora corretto, ad es. Formato "hh: mm: ss".

Ho usato la funzione FORMAT qui. Il risultato è dato da (Timer - ora di inizio). L'ho diviso per il numero 86400 per convertirlo in secondi secondo le regole del formato dell'ora, quindi ho applicato il formato dell'ora in un'ora, minuti e secondi.

Ora, se eseguo il codice, darà il risultato come questo.

Quindi, il tempo totale impiegato dal codice è di 3 secondi.

La bellezza di questo codice è il momento in cui attraversa i 60 secondi; mostrerà il risultato in pochi minuti. Ho messo in pausa il mio codice in esecuzione per un minuto (usando Ctrl + Break) e vedo il risultato.

Quindi il tempo totale impiegato da questo codice è ora di 1 minuto e 2 secondi.

Esempio n. 3: codice alternativo al timer

Esiste un'alternativa al TIMER utilizzando la funzione NOW () . Di seguito è riportato il codice alternativo.

Cose da ricordare

  • La funzione TIMER riporterà il valore alla fine della giornata, cioè alle 23:59:59 PM.
  • La funzione NOW restituisce la data e l'ora correnti.
  • TIMER mostra i secondi totali trascorsi dalla mezzanotte della data corrente.

Articoli interessanti...