VBA-Timer

Excel VBA TIMER-Funktion

Der VBA-Timer ist eine eingebaute Funktion, die verwendet wird, um den Bruchteil von Sekunden anzugeben. Es ist eine sehr nützliche Funktion, die verwendet wird, um manchmal einen Satz von Codes anzuhalten oder sie basierend auf der vom Benutzer angegebenen Zeit fortzusetzen. Der Timer ist einfach wird als Anweisung in VBA mit der Eingabe von Zeit verwendet.

In einfachen Worten gibt der TIMER die Gesamtzahl der Sekunden an, die seit Mitternacht des aktuellen Tages vergangen sind. Ab Zeile eins des Codes können wir tatsächlich die Zeit verfolgen, die unser Code benötigt, um den in der Unterprozedur angegebenen Prozess abzuschließen.

Manchmal, wenn Sie einen Code schreiben und die Codedauer testen möchten, dh wie lange Ihr Code insgesamt benötigt, um die Unterprozedur abzuschließen. Indem Sie die tatsächliche Dauer Ihres Codes testen, können Sie Ihren Code effizienter gestalten und zeitaufwändige Prozesse vermeiden, indem Sie unerwünschte oder lange Codes aus Ihrem Modul löschen.

Wie verwende ich die TIMER-Funktion in VBA?

Wie ich bereits sagte, gibt die TIMER-Funktion die gesamten Sekunden zurück, die seit Mitternacht des aktuellen Datums vergangen sind. Wenn ich diesen Artikel schreibe, ist es in Indien 13:50:45 Uhr.

Ich habe einen Makronamen erstellt und den Wert von TIMER im VBA-Meldungsfeld zugewiesen.

Code:

 Sub Timer_Example1 () MsgBox Timer End Sub 

Wenn ich diesen Code ausführe, erhalte ich das Ergebnis als 50480.08.

Dies sind die gesamten Sekunden, die seit der heutigen Mitternacht vergangen sind, dh ab 12:00:00 Uhr

Von Mitternacht 12 bis zur aktuellen Zeit 14:01:20 sind also insgesamt 14 Stunden 1 Minute 20 Sekunden vergangen. In Sekunden ist es gleich 50480.08, was durch unsere TIMER-Funktion gegeben ist.

Beispiele

Sie können diese VBA Timer Excel-Vorlage hier herunterladen - VBA Timer Excel-Vorlage

Beispiel 1 - Berechnen Sie die Gesamtzeit Ihres Codes

Jetzt führen wir eine einfache Codierung durch, um die Zeit zu testen, die der VBA für die Ausführung der Prozedur benötigt. Ich habe einen Code geschrieben, wie im folgenden Bild gezeigt.

Code:

 Sub Do_Until_Example1 () Dim ST als Single ST = Timer Dim x As Long x = 1 Do Bis x = 100000 Zellen (x, 1) .Value = xx = x + 1 Schleife MsgBox Timer - ST End Sub 

Wenn ich diesen Code jetzt ausführe, wird die Gesamtzeit angezeigt, die der VBA für die Ausführung benötigt.

Es heißt 3.058594, das Ergebnis dieser Funktion ist in Sekunden angegeben, dh die Gesamtzeit, die dieser Code benötigt, beträgt 3.058 Sekunden.

Damit Sie den Code verwenden können, habe ich den folgenden Code für Sie geschrieben.

Code:

 Sub Timer_Example1 () Dim StartingTime As Single StartingTime = Timer 'Geben Sie hier Ihren Code ein' Geben Sie hier Ihren Code ein 'Geben Sie hier Ihren Code ein' Geben Sie hier Ihren Code ein MsgBox Timer - StartingTime End Sub 

Verwenden Sie die obigen Anweisungen und geben Sie Ihren Code nach dem Code StartingTime = Timer ein, aber vor dem Code MsgBox Timer - StartingTime, dh im grünen Bereich müssen Sie Ihren Code eingeben.

Erläuterung: Erstens bedeutet die Variable StartingTime = Timer, dass der Code zum Zeitpunkt der Ausführung gleich der Zeit ist, die von Mitternacht bis zur Laufzeit des Codes vergangen ist.

Timer - StartingTime: Dies bedeutet, dass nach dem Ausführen des Codes die verstrichene Zeit abzüglich der am Anfang des Codes aufgezeichneten Zeit durch die variable Startzeit verstrichen ist .

Dies gibt den Unterschied zwischen Start- und Endzeit an und gibt das Ergebnis zurück.

Beispiel 2 - Zeigen Sie das Ergebnis im richtigen Zeitformat an

Wie wir gesehen haben, ist das von der Funktion angegebene Ergebnis in Sekunden, aber nicht im genauen Format. Mit der Funktion FORMAT können wir jedoch ein VBA-Zeitformat auf das Endergebnis anwenden.

Verwenden Sie den folgenden Code, um das Ergebnis im richtigen Zeitformat anzuzeigen, dh im Format „hh: mm: ss“.

Ich habe hier die FORMAT-Funktion verwendet. Das Ergebnis ist gegeben durch (Timer - Startzeit). Ich habe es durch die Nummer 86400 geteilt, um es gemäß den Zeitformatregeln in Sekunden umzuwandeln. Dann habe ich das Zeitformat in einem Stunden-, Minuten- und Sekundenformat angewendet.

Wenn ich nun den Code ausführe, wird das Ergebnis so angezeigt.

Der Code benötigt also insgesamt 3 Sekunden.

Das Schöne an diesem Code ist, dass er in dem Moment, in dem er 60 Sekunden überschreitet, das Ergebnis in Minuten anzeigt. Ich habe meinen Code für eine Minute angehalten (mit Strg + Pause) und sehe das Ergebnis.

Die Gesamtzeit, die dieser Code benötigt, beträgt jetzt 1 Minute 2 Sekunden.

Beispiel 3 - Alternativer Code zum Timer

Es gibt eine Alternative zu TIMER mit der Funktion NOW () . Unten ist der alternative Code.

Dinge, an die man sich erinnern sollte

  • Die TIMER-Funktion ruht den Wert am Ende des Tages, dh um 23:59:59 Uhr.
  • Die Funktion JETZT gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.
  • TIMER zeigt die gesamten Sekunden an, die seit dem aktuellen Datum Mitternacht vergangen sind.