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

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

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

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

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

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

Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA DoEvents Excel εδώ - Πρότυπο VBA DoEvents 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 ως μέρος της διαδικασίας εντοπισμού σφαλμάτων όταν προσπαθούμε να διορθώσουμε σφάλματα του κώδικα που έχουμε γράψει.