Temporitzador VBA | Exemples per utilitzar la funció de temporitzador Excel VBA

Funció TIMER Excel VBA

Temporitzador VBA és una funció incorporada que s’utilitza per donar-nos el valor fraccionat de segons, és una funció molt útil que de vegades s’utilitza per posar en pausa qualsevol conjunt de codis en execució o reprendre’ls en funció del temps proporcionat per l’usuari, el temporitzador s’utilitza simplement com a una declaració a VBA amb l'entrada de temps.

En termes senzills, el TEMPORITZADOR proporciona el nombre total de segons des de la mitjanit del dia actual. Des de la primera línia del codi, podem fer un seguiment del temps consumit pel nostre codi per completar el procés especificat al subprocés.

De vegades, quan escriviu un codi i voleu provar-ne la durada, és a dir, quin és el temps total que ha trigat el vostre codi a completar el subprocés. En provar la durada real que agafa el vostre codi, podeu fer que el vostre codi sigui eficient i eliminar el procés que consumeix temps eliminant codis llargs o no desitjats del mòdul.

Com s'utilitza la funció TIMER a VBA?

Com he dit, la funció TIMER retorna el total de segons passats des de la mitjanit de la data actual. Quan escric aquest article, les hores són a les 13:50:45 a l’Índia.

He creat un nom de macro i he assignat el valor de TIMER al quadre de missatge VBA.

Codi:

 Sub Temporitzador_Exemple1 () Temporitzador final de MsgBox Sub 

Quan vaig executar aquest codi, vaig obtenir el resultat com a 50480.08.

Aquest és el total de segons transcorreguts des de la mitjanit d’avui, és a dir, a partir de les 00:00 hores

Així doncs, des de la mitjanit 12 fins a l’hora actual 14:01:20, ha passat un total de 14 hores i 1 minut i 20 segons. En segons és igual a 50480,08, que ens proporciona la nostra funció TIMER.

Exemples

Podeu descarregar aquesta plantilla Excel del temporitzador VBA aquí: plantilla Excel del temporitzador VBA

Exemple 1: calculeu el temps total que ha pres el vostre codi

Ara realitzarem una codificació senzilla per provar el temps que ha trigat el VBA a executar el procediment. He escrit un codi com es mostra a la imatge següent.

Codi:

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

Si executo aquest codi ara, em mostrarà el temps total que ha trigat el VBA a executar-se.

Es diu 3.058594, el resultat donat per aquesta funció és en segons, és a dir, el temps total que agafa aquest codi és de 3.058 segons.

Perquè utilitzeu el codi, he escrit el següent codi.

Codi:

 Sub Timer_Example1 () Dim StartTime As Single StartTime = Temporitzador 'Introduïu el vostre codi aquí' Introduïu el vostre codi aquí 'Introduïu el vostre codi aquí' Introduïu el vostre codi aquí Temporitzador MsgBox - StartTime End Sub 

Utilitzeu l'anterior i escriviu el vostre codi després del codi StartTime = Temporitzador però abans del codi Temporitzador MsgBox - Temps d’inici és a dir, a la zona verda cal introduir el vostre codi.

Explicació: En primer lloc la variable StartTime = Temporitzador significa que en el moment d’executar el codi és igual al temps transcorregut des de mitjanit fins al temps d’execució del codi.

Temporitzador - Temps d’inici: Vol dir, després d’executar el codi, quin és el temps transcorregut menys el temps registrat al principi del codi a través del temps d’inici variable.

Això donarà la diferència entre l’hora d’inici i de finalització i retornarà el resultat.

Exemple 2: mostra el resultat en el format d’hora correcte

Com hem vist, el resultat donat per la funció és en segons, però no en el format precís. Tot i això, podem aplicar un format d’hora VBA al resultat final mitjançant la funció FORMAT.

Utilitzeu el codi següent per veure el resultat en el format horari correcte, és a dir, el format "hh: mm: ss".

He utilitzat la funció FORMAT aquí. El resultat ve donat per (Temporitzador: hora d'inici). L'he dividit pel número 86400 per convertir-lo a segons segons les regles de format de temps i, a continuació, he aplicat el format d'hora en un format d'hora, minut i segon.

Ara si executo el codi donarà el resultat així.

Per tant, el temps total que agafa el codi és de 3 segons.

La bellesa d’aquest codi és en el moment que creua 60 segons, mostrarà el resultat en qüestió de minuts. He posat en pausa el meu codi durant un minut (amb Ctrl + Break) i veig el resultat.

Per tant, el temps total que agafa aquest codi és ara d’1 minut i 2 segons.

Exemple 3: codi alternatiu al temporitzador

Hi ha una alternativa a TIMER mitjançant el fitxer ARA () funció. A continuació es mostra el codi alternatiu.

Coses que cal recordar

  • La funció TIMER restablirà el valor al final del dia, és a dir, a les 23:59:59 PM.
  • La funció ARA retorna la data i l'hora actuals.
  • TIMER mostra el total de segons passats de la data actual a mitjanit.