Λειτουργία χρονοδιακόπτη VBA

Οι λειτουργίες VBA Timer επιστρέφουν τον αριθμό των δευτερολέπτων που έχουν παρέλθει από τα μεσάνυχτα της τρέχουσας ημέρας (επιστρέφονται ως τύπος μεμονωμένων δεδομένων).

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

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

12345678 Sub UsingTheVBATimerFunction ()Δευτερόλεπτα από τότε ως SingleδευτερόλεπταΑπό = Χρονοδιακόπτης ()Εντοπισμός σφαλμάτων. Εκτύπωση δευτερολέπτωνΤέλος υπο

Το αποτέλεσμα είναι:

Χρησιμοποιήστε το χρονοδιακόπτη VBA για να λάβετε πραγματικό χρόνο

Μπορείτε να μετατρέψετε τα δευτερόλεπτα που επιστρέφονται από τη λειτουργία Χρονοδιακόπτη σε μορφή hh: mm: ss για να δείτε τον πραγματικό χρόνο χρησιμοποιώντας τον ακόλουθο κώδικα:

123456789101112131415 Sub GettingTheActualTime ()Δευτερόλεπτα από τότε ως SingleDim cTime As DoubleDim theActualTime As VariantδευτερόλεπταΑπό = Χρονοδιακόπτης ()cTime = δευτερόλεπταΑπό / (86400)theActualTime = Μορφή (cTime, "hh: mm: ss")MsgBox "Ο χρόνος που πέρασε από τα μεσάνυχτα σε δευτερόλεπτα είναι" & "" & δευτερόλεπταΑπό & vbNewLine & _"Η πραγματική ώρα είναι:" & "" & theActualTimeΤέλος υπο

Το αποτέλεσμα είναι:

Time a Section of VBA Code

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

Η απόδοση μπορεί να επηρεαστεί από άλλα προγράμματα που εκτελούνται ή προσπαθούν να εκτελεστούν ενώ η μακροεντολή είναι ενεργή, μεταξύ άλλων.

Το ακόλουθο παράδειγμα χρησιμοποιήθηκε για να δει πόσος χρόνος θα χρειαζόταν για να γραφτεί η λέξη "δοκιμή" στο κελί Α1 στο Φύλλο 1 μισό εκατομμύριο φορές. Χρειάστηκαν 21 δευτερόλεπτα στο μηχάνημά μου.

123456789101112131415161718 Sub BenchMark ()Dim Count As LongDim BenchMark As DoubleBenchMark = Χρονοδιακόπτης'Έναρξη κώδικα για δοκιμήΓια Count = 1 έως 500000Sheet1.Cells (1, 1) = "δοκιμή"Επόμενη καταμέτρησηΤέλος κώδικα σε δοκιμήMsgBox Timer - BenchMarkΤέλος υπο

Εάν ο κωδικός σας λειτουργεί αργά, δοκιμάστε να τον επιταχύνετε απενεργοποιώντας την ενημέρωση οθόνης. Για να διατηρήσουμε ενεργή την οθόνη του Excel ενώ λειτουργεί ο χρονοδιακόπτης, μπορούμε να εισαγάγουμε τη μέθοδο DoEvents στον κώδικα.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave