VBA DoEvents - Πώς και πότε να χρησιμοποιήσετε τη λειτουργία DoEvents;

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

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

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

Η λειτουργία DoEvents περνά τον έλεγχο στο λειτουργικό σύστημα του υπολογιστή στον οποίο εργαζόμαστε.

Πώς να χρησιμοποιήσετε τη λειτουργία DoEvents;

Απαιτείται μεγάλος αριθμός κώδικα VBA όταν η απαίτηση είναι τεράστια. Σε αυτές τις περιπτώσεις, το excel κρέμεται και σταματά για κάποιο χρονικό διάστημα, και ακόμη και μερικές φορές, γίνεται μη ανταποκρινόμενο.

Για παράδειγμα, δείτε τον παρακάτω κώδικα.

Κώδικας:

Sub DoEvents_Example1 () Dim i As Long for i = 1 to 100000 Range ("A1"). Value = i Next i End Sub

Ο παραπάνω κωδικός θα εισαγάγει σειριακούς αριθμούς από 1 έως 100000. Θα χρειαστεί εύκολα περισσότερο από ένα λεπτό για την εκτέλεση της εργασίας. Κατά τη διάρκεια της εκτέλεσης, το excel κρέμεται για μεγάλο χρονικό διάστημα για την ολοκλήρωση της εργασίας. Κατά τη διάρκεια αυτής της περιόδου, το Excel εμφανίζει το μήνυμα ως "Excel Not Responsing".

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

Αυτό μπορεί να επιτευχθεί προσθέτοντας μια λειτουργία VBA DoEvents .

Κώδικας:

Sub DoEvents_Example1 () Dim i As Long for i = 1 to 100000 Range ("A1"). Value = i DoEvents Next i End Sub

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

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

Διακοπή της εκτέλεσης του κώδικα

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

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

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