Τι Application.Screenupdating = Λάθος μέσα και γιατί χρησιμοποιείται στο VBA

Anonim

Εντάξει! Αυτό είναι σημαντικό.

Κάθε καλή διαδικασία VBA έχει πάντα αυτή τη γραμμή που αναφέρεται στην αρχή.

Application.Screenupdating = FALSE 

Και πριν από το τέλος της διαδικασίας θα δείτε και αυτή τη γραμμή.

Application.Screenupdating = TRUE 

Τι είναι το ScreenUpdating;
Η ενημέρωση οθόνης είναι η ιδιότητα των αντικειμένων εφαρμογής στο VBA. Μπορεί να οριστεί σε TRUE ή FALSE. Είναι σαν ένας διακόπτης, ο οποίος μπορεί να ενεργοποιηθεί ή να απενεργοποιηθεί.

Και τι κάνει;
Η πρώτη γραμμή επιταχύνει τη μακρο επεξεργασία σταματώντας την ενημέρωση οθόνης σε πραγματικό χρόνο του Excel.

Εάν έχετε μια μακροεντολή μακροεντολής που γράφει σε διαφορετικά φύλλα, εφαρμόζει φίλτρα, αφαιρεί φίλτρα, αλλάζει φύλλα, αποθηκεύει βιβλία εργασίας κ.λπ. Και αν δεν έχετε απενεργοποιήσει τις ενημερώσεις οθόνης χρησιμοποιώντας τη γραμμή Application.Screenupdating = FALSE, τότε θα δείτε το τρεμοπαίζει στην οθόνη. Κάθε αλλαγή που γίνεται με μακροεντολή στο βιβλίο εργασίας θα εμφανίζεται δυναμικά. Αυτό επιβραδύνει την ταχύτητα μακροεντολής.

Και αν έχετε αυτήν τη γραμμή στην αρχή της μακροεντολής, το excel δεν θα αντικατοπτρίζει τις αλλαγές που πραγματοποιούνται από τη μακροεντολή έως ότου ενεργοποιηθεί η ενημέρωση οθόνης χρησιμοποιώντας τη γραμμή Application.Screenupdating = TRUE.

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

Εδώ είναι ένα παράδειγμα:

Sub Screencheck ()  Application.Screenupdating = FALSE 'Απενεργοποίηση της ενημέρωσης της οθόνης.  Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "Πώς είστε;" Εύρος ("A3"). Value = "Το Exceltip είναι εκπληκτικό, έτσι δεν είναι;" Φύλλο2.Ενεργοποιήστε Application.Screenupdating = TRUE 'Ενεργοποίηση της ενημέρωσης της οθόνης. Τέλος υπο 

Όταν εκτελείτε το παραπάνω υπό δεν θα δείτε να τρεμοπαίζει η οθόνη. Θα δείτε το τελικό αποτέλεσμα της εργασίας που έχει γίνει από αυτήν τη μακροεντολή.

Σημαντικές σημειώσεις:

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

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

Αυτό είναι. Αυτό είναι το Application.Screenupdating = False κάνει στο VBA. Αυτή η μία γραμμή κώδικα αλλάζει πολύ. Είναι η διαφορά μεταξύ ώριμου προγραμματισμού και απρόσεκτου προγραμματισμού. Εάν θέλετε να επιταχύνετε τη μακροεντολή σας, χρησιμοποιήστε πάντα αυτήν τη γραμμή στον κώδικά σας.

Ελπίζω ότι αυτό σας βοήθησε. Εάν έχετε αμφιβολίες σχετικά με αυτό το άρθρο ή έχετε άλλες ερωτήσεις που σχετίζονται με το Excel/VBA, μη διστάσετε να τις ρωτήσετε στην παρακάτω ενότητα σχολίων. Θα χαρώ να βοηθήσω.

Ποια είναι η διαφορά μεταξύ των επιχειρημάτων ByRef και ByVal; : Αυτή είναι μια σημαντική ερώτηση VBA. Τα ByVal και ByRef χρησιμοποιούνται για να περάσουν διαφορετικά ορίσματα. Το ένα επιτρέπει την αλλαγή στην αρχική μεταβλητή, ενώ το άλλο δεν αλλάζει την αρχική μεταβλητή.

Πώς να περιηγηθείτε σε φύλλα στο Excel χρησιμοποιώντας VBA : Ενώ αυτοματοποιείτε τις συνηθισμένες βαρετές εργασίες του excel στο VBA, θα χρειαστεί να περιηγηθείτε σε κάθε φύλλο. Ας ξεκινήσουμε με ένα παράδειγμα. VBA Code to Loop σε όλα τα φύλλα στο Activeworkbook και εκτύπωση Όνομα φύλλου

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

Δημοφιλή άρθρα:

50 συντομεύσεις Excel για να αυξήσετε την παραγωγικότητά σας | Γίνετε πιο γρήγοροι στην εργασία σας. Αυτές οι 50 συντομεύσεις θα σας κάνουν να εργάζεστε ακόμη πιο γρήγορα στο Excel.

Η συνάρτηση VLOOKUP στο Excel | Αυτή είναι μια από τις πιο δημοφιλείς και δημοφιλείς λειτουργίες του excel που χρησιμοποιείται για την αναζήτηση τιμών από διαφορετικά εύρη και φύλλα.

COUNTIF στο Excel 2016 | Μετρήστε τιμές με συνθήκες χρησιμοποιώντας αυτήν την εκπληκτική συνάρτηση. Δεν χρειάζεται να φιλτράρετε τα δεδομένα σας για να μετρήσετε συγκεκριμένες τιμές. Η λειτουργία Countif είναι απαραίτητη για την προετοιμασία του ταμπλό σας.

Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel | Αυτή είναι μια άλλη βασική λειτουργία του ταμπλό. Αυτό σας βοηθά να συνοψίσετε τιμές υπό συγκεκριμένες συνθήκες.