Χρονοδιακόπτης 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.

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

Μπορείτε να πραγματοποιήσετε λήψη αυτού του προτύπου VBA Timer Excel εδώ - Πρότυπο VBA Timer Excel

Παράδειγμα # 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 - StartingTime: Σημαίνει μετά την εκτέλεση του κώδικα Ποιος είναι ο χρόνος που έχει παρέλθει μείον χρόνο καταγράφονται στην αρχή του κώδικα μέσα στο χρόνο μεταβλητή εκκίνησης .

Αυτό θα δώσει τη διαφορά μεταξύ της ώρας έναρξης και λήξης και θα επιστρέψει το αποτέλεσμα.

Παράδειγμα # 2 - Εμφάνιση του αποτελέσματος στη σωστή μορφή ώρας

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

Χρησιμοποιήστε τον παρακάτω κωδικό για να δείτε το αποτέλεσμα με τη σωστή μορφή ώρας, δηλαδή "μορφή: mm: ss"

Έχω χρησιμοποιήσει τη συνάρτηση FORMAT εδώ. Το αποτέλεσμα δίνεται από το (Χρονόμετρο - ώρα έναρξης). Το έχω διαχωρίσει με τον αριθμό 86400 για να το μετατρέψω σε δευτερόλεπτα σύμφωνα με τους κανόνες μορφής ώρας και έπειτα έχω εφαρμόσει τη μορφή ώρας σε μία ώρα, λεπτό και δεύτερη μορφή.

Τώρα αν τρέξω τον κώδικα θα δώσει το αποτέλεσμα έτσι.

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

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

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

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

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

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

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