Χρονοδιακόπτης VBA - Παραδείγματα χρήσης της λειτουργίας χρονοδιακόπτη Excel VBA

Πίνακας περιεχομένων

Λειτουργία TIMER Excel VBA

Ο χρονοδιακόπτης VBA είναι μια ενσωματωμένη συνάρτηση που χρησιμοποιείται για να μας δώσει την κλασματική τιμή των δευτερολέπτων, είναι μια πολύ χρήσιμη συνάρτηση που χρησιμοποιείται για την παύση ορισμένων σειρών κωδικών που εκτελούνται ή για να τους συνεχίσετε με βάση τον χρόνο που παρέχεται από τον χρήστη, ο χρονοδιακόπτης είναι απλά χρησιμοποιείται ως δήλωση στο VBA με την εισαγωγή του χρόνου.

Με απλά λόγια, το TIMER δίνει τον συνολικό αριθμό δευτερολέπτων που έχουν παρέλθει από τα μεσάνυχτα της τρέχουσας ημέρας. Ακριβώς από τη γραμμή ενός του κώδικα, μπορούμε πραγματικά να παρακολουθούμε τον χρόνο που καταναλώνει ο κώδικας μας για να ολοκληρώσουμε τη διαδικασία που καθορίζεται στην υποδιαδικασία.

Μερικές φορές όταν γράφετε έναν κωδικό και θέλετε να ελέγξετε τη διάρκεια του κωδικού, δηλαδή ποιος είναι ο συνολικός χρόνος που χρειάζεται ο κώδικάς σας για την ολοκλήρωση της υποδιαδικασίας. Δοκιμάζοντας την πραγματική διάρκεια που ακολουθεί ο κώδικάς σας, μπορείτε να κάνετε τον κώδικά σας αποτελεσματικό και να εξαλείψετε την χρονοβόρα διαδικασία διαγράφοντας ανεπιθύμητους ή μεγάλους κωδικούς από τη μονάδα σας.

Πώς να χρησιμοποιήσετε τη συνάρτηση TIMER στο VBA;

Όπως είπα η λειτουργία TIMER επιστρέφει, τα συνολικά δευτερόλεπτα πέρασαν από τα μεσάνυχτα της τρέχουσας ημερομηνίας. Όταν γράφω αυτό το άρθρο, ο χρόνος είναι 13:50:45 στην Ινδία.

Έχω δημιουργήσει ένα όνομα μακροεντολής και εκχώρησα την τιμή TIMER στο πλαίσιο μηνύματος VBA.

Κώδικας:

Υπο Timer_Example1 () MsgBox Timer End Sub

Όταν εκτελούσα αυτόν τον κωδικό, πήρα το αποτέλεσμα ως 50480.08.

Αυτά είναι τα συνολικά δευτερόλεπτα που πέρασαν από τα σημερινά μεσάνυχτα, δηλαδή από τις 12:00:00 π.μ.

Έτσι από τα μεσάνυχτα 12 έως την τρέχουσα ώρα 14:01:20, συνολικά 14 ώρες 1 λεπτό, 20 δευτερόλεπτα πέρασαν. Σε δευτερόλεπτα ισούται με 50480.08, το οποίο δίνεται από τη συνάρτηση TIMER.

Παραδείγματα

Παράδειγμα # 1 - Υπολογίστε τον συνολικό χρόνο που χρειάζεται ο Κώδικας

Τώρα θα εκτελέσουμε κάποια απλή κωδικοποίηση για να δοκιμάσουμε το χρόνο που χρειάζεται το VBA για την εκτέλεση της διαδικασίας. Έχω γράψει κάποιο κωδικό, όπως φαίνεται στην παρακάτω εικόνα.

Κώδικας:

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

Εάν εκτελέσω αυτόν τον κώδικα τώρα, θα μου δείξει τον συνολικό χρόνο που χρειάστηκε για να εκτελέσει το VBA.

Λέει 3.058594. Το αποτέλεσμα που δίνεται από αυτήν τη λειτουργία είναι σε δευτερόλεπτα, δηλαδή, ο συνολικός χρόνος που απαιτείται από αυτόν τον κωδικό είναι 3.058 δευτερόλεπτα.

Για να χρησιμοποιήσετε τον κωδικό, έχω γράψει τον παρακάτω κωδικό για εσάς.

Κώδικας:

Sub Timer_Example1 () Dim StartTime As Single StartTime = Timer "Εισαγάγετε τον κωδικό σας εδώ" Εισαγάγετε τον κωδικό σας εδώ "Εισαγάγετε τον κωδικό σας εδώ" Εισαγάγετε τον κωδικό σας εδώ MsgBox Timer - StartTime End Sub

Χρησιμοποιήστε τα παραπάνω και πληκτρολογήστε τον κωδικό σας μετά τον κωδικό StartTime = Timer, αλλά πριν από τον κωδικό MsgBox Timer - StartTime, δηλαδή, σε μια πράσινη περιοχή, πρέπει να εισαγάγετε τον κωδικό σας.

Επεξήγηση: Πρώτον, η μεταβλητή StartTime = Timer σημαίνει κατά τη στιγμή της εκτέλεσης του κώδικα ισούται με το χρόνο που έχει παρέλθει από τα μεσάνυχτα έως τον χρόνο εκτέλεσης κώδικα.

Timer - StartTime: Σημαίνει μετά την εκτέλεση του κώδικα, ποιος είναι ο χρόνος που έχει παρέλθει μείον ο χρόνος που καταγράφηκε στην αρχή του κώδικα μέσα από μεταβλητή ώρα έναρξης .

This will give the difference between start and end time and return the result.

Example #2 - Show the Result in the Correct Time Format

As we have seen, the result given by the function is in seconds but not in an accurate format. However, we can apply a VBA time format to the end result by using the FORMAT function.

Use the below code to see the result in the correct time format, i.e., “hh: mm: ss” format.

I have used the FORMAT function here. The result is given by (Timer - starting time). I have divided it by the number 86400 to convert it to seconds as per time format rules, then I have applied the time format in an hour, minute, and second format.

Now, if I run the code, it will give the result like this.

So, the total time taken by the code is 3 Seconds.

Η ομορφιά αυτού του κώδικα είναι η στιγμή που διασχίζει 60 δευτερόλεπτα. θα δείξει το αποτέλεσμα σε λίγα λεπτά. Έχω σταματήσει τον κώδικά μου να τρέχει για ένα λεπτό (χρησιμοποιώντας Ctrl + Break) και να δω το αποτέλεσμα.

Έτσι ο συνολικός χρόνος που απαιτείται από αυτόν τον κωδικό είναι τώρα 1 λεπτό 2 δευτερόλεπτα.

Παράδειγμα # 3 - Εναλλακτικός κωδικός για χρονοδιακόπτη

Υπάρχει μια εναλλακτική λύση για το TIMER χρησιμοποιώντας τη συνάρτηση NOW () . Παρακάτω είναι ο εναλλακτικός κωδικός.

Πράγματα που πρέπει να θυμάστε

  • Η συνάρτηση TIMER θα ξεκουράσει την τιμή στο τέλος της ημέρας, δηλαδή στις 11:59:59 μ.μ.
  • Η συνάρτηση NOW επιστρέφει την τρέχουσα ημερομηνία και την τρέχουσα ώρα.
  • Το TIMER εμφανίζει τα συνολικά δευτερόλεπτα που πέρασαν από την τρέχουσα ημερομηνία τα μεσάνυχτα.

ενδιαφέροντα άρθρα...