Απενεργοποίηση αυτόματων υπολογισμών (ή ενεργοποίηση) - Παραδείγματα κώδικα VBA

Κάθε φορά που ενημερώνετε μια τιμή κελιού, το Excel περνάει από μια διαδικασία επανυπολογισμού του βιβλίου εργασίας. Όταν εργάζεστε απευθείας στο Excel θέλετε αυτό να συμβαίνει 99,9% των περιπτώσεων (με εξαίρεση εάν εργάζεστε με ένα εξαιρετικά μεγάλο βιβλίο εργασίας). Ωστόσο, αυτό μπορεί πραγματικά να επιβραδύνει τον κώδικα VBA σας. Είναι καλή πρακτική να ορίσετε τους υπολογισμούς σας σε χειροκίνητα στην αρχή των μακροεντολών και να επαναφέρετε τους υπολογισμούς στο τέλος των μακροεντολών. Εάν πρέπει να υπολογίσετε εκ νέου το βιβλίο εργασίας, μπορείτε να πείτε χειροκίνητα στο Excel να υπολογίσει.

Απενεργοποίηση αυτόματων υπολογισμών

Μπορείτε να απενεργοποιήσετε τον αυτόματο υπολογισμό με μια μακροεντολή, ορίζοντάς τον σε xlmanual. Χρησιμοποιήστε το ακόλουθο κομμάτι κώδικα VBA:

1 Application.Calculation = xlManual

Ενεργοποιήστε ξανά τους Αυτόματους υπολογισμούς

Για να ενεργοποιήσετε ξανά τον αυτόματο υπολογισμό με τη ρύθμιση xlAutomatic:

1 Εφαρμογή. Υπολογισμός = xlΑυτόματο

Σας συνιστώ να απενεργοποιήσετε τους Αυτόματους υπολογισμούς στην αρχή της διαδικασίας σας και να ενεργοποιήσετε ξανά τους Αυτόματους Υπολογισμούς στο τέλος. Θα μοιάζει με αυτό:

Απενεργοποίηση παραδείγματος μακροεντολών αυτόματων υπολογισμών

12345678 Sub Auto_Calcs_Example ()Application.Calculation = xlManual'Κάνε κάτιΕφαρμογή. Υπολογισμός = xlΑυτόματοΤέλος υπο

Χειροκίνητος υπολογισμός

Όταν οι Αυτόματοι υπολογισμοί είναι απενεργοποιημένοι, μπορείτε να χρησιμοποιήσετε το Υπολογίζω εντολή για να αναγκάσετε το Excel να υπολογίσει εκ νέου:

1 Υπολογίζω

Μπορείτε επίσης να πείτε στο Excel να υπολογίσει εκ νέου μόνο ένα μεμονωμένο φύλλο εργασίας:

1 Φύλλα εργασίας ("φύλλο1"). Υπολογίστε

Μπορείτε επίσης να πείτε στη VBA να υπολογίσει ξανά ένα εύρος (κάντε κλικ για να διαβάσετε το άρθρο μας σχετικά με τις μεθόδους υπολογισμού VBA)

Δείτε πώς μπορεί να φαίνεται αυτό μέσα σε μια μακροεντολή:

12345678910111213 Sub Auto_Calcs_Example_Manual_Calc ()Application.Calculation = xlManual'Κάνε κάτι«ΕπανάληψηΥπολογίζω«Κάνε περισσότερα πράγματαΕφαρμογή. Υπολογισμός = xlΑυτόματοΤέλος υπο

Ρυθμίσεις VBA - Επιταχύνετε τον κώδικα

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

Η απενεργοποίηση της ενημέρωσης οθόνης μπορεί να κάνει τεράστια διαφορά στην ταχύτητα:

1 Application.ScreenUpdating = Λάθος

Η απενεργοποίηση της γραμμής κατάστασης θα κάνει επίσης μια μικρή διαφορά:

1 Application.DisplayStatusBar = Λάθος

Εάν το βιβλίο εργασίας σας περιέχει συμβάντα, θα πρέπει επίσης να απενεργοποιήσετε συμβάντα στην αρχή των διαδικασιών σας (για να επιταχύνετε τον κώδικα και να αποτρέψετε ατελείωτους βρόχους!):

1 Application.EnableEvents = Λάθος

Τέλος, ο κώδικας VBA μπορεί να επιβραδυνθεί όταν το Excel προσπαθεί να υπολογίσει εκ νέου τις αλλαγές σελίδας (Σημείωση: δεν θα επηρεαστούν όλες οι διαδικασίες). Για να απενεργοποιήσετε το DisplayPageBreaks χρησιμοποιήστε αυτήν τη γραμμή κώδικα:

1 ActiveSheet.DisplayPageBreaks = Λάθος

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

wave wave wave wave wave