Funzione timer VBA

Le funzioni VBA Timer restituiscono il numero di secondi trascorsi dalla mezzanotte del giorno corrente (restituito come tipo di dati Single).

Utilizzo della funzione timer VBA

Il codice seguente ti mostrerà come utilizzare la funzione timer VBA per determinare quanti secondi sono trascorsi, da mezzanotte, al momento dell'esecuzione del codice:

12345678 Sub UsingTheVBATimerFunction()Dim secondiDa come singlesecondiSince = Timer()Debug.Stampa secondi daFine sottotitolo

Il risultato è:

Usa il timer VBA per ottenere il tempo effettivo

È possibile convertire i secondi restituiti dalla funzione Timer nel formato hh:mm:ss per visualizzare l'ora effettiva utilizzando il codice seguente:

123456789101112131415 Sub OttenereTheActualTime()Dim secondiDa come singleDim cTime As DoubleDim theActualTime As VariantsecondiSince = Timer()cTime = secondiDa / (86400)theActualTime = Format(cTime, "hh:mm:ss")MsgBox "Il tempo trascorso dalla mezzanotte in secondi è" & " " & secondiDa & vbNewLine & _"L'ora attuale è:" & " " & theActualTimeFine sottotitolo

Il risultato è:

Tempo una sezione del codice VBA

Se stai cercando di confrontare il codice riscritto o di discutere metodi "più veloci" in VBA, puoi utilizzare il timer integrato di VBA. Impostando una variabile uguale al timer all'inizio del codice e sottraendo questo dal timer alla fine otterrai un buona stima di quanto tempo impiega un pezzo di codice per l'esecuzione.

Le prestazioni possono essere influenzate da altri programmi in esecuzione o che tentano di eseguire mentre la macro è attiva, tra le altre cose.

L'esempio seguente è stato utilizzato per vedere quanto tempo ci vorrebbe per scrivere la parola "test" nella cella A1 su Sheet1 mezzo milione di volte. Ci sono voluti 21 secondi sulla mia macchina.

123456789101112131415161718 Sotto Benchmark()Dim conta come a lungoDim Benchmark As DoubleBenchmark = Timer"Inizio del codice da testare"Per Conte = da 1 a 500000Foglio1.Cells(1, 1) = "test"Conteggio successivo"Fine del codice da testare"MsgBox Timer - BenchMarkFine sottotitolo

Se il tuo codice funziona lentamente, prova ad accelerarlo disabilitando l'aggiornamento dello schermo. Per mantenere attiva la schermata di Excel mentre il timer è in funzione, possiamo inserire nel codice il metodo DoEvents.

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

wave wave wave wave wave