Συμβουλές ταχύτητας Excel 2016 VBA

Το VBA για το Excel 2016 είναι γρήγορο, αλλά δεν είναι πάντα αρκετά γρήγορο. (Τα προγράμματα υπολογιστών δεν είναι ποτέ αρκετά γρήγορα.) Συνεχίστε να διαβάζετε για να ανακαλύψετε μερικά παραδείγματα προγραμματισμού που μπορείτε να χρησιμοποιήσετε για να επιταχύνετε τις μακροεντολές σας.

Απενεργοποίηση ενημέρωσης οθόνης

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

Application.ScreenUpdating = False

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

Application.ScreenUpdating = True

Για να δείξετε τη διαφορά στην ταχύτητα, εκτελέστε αυτήν την απλή μακροεντολή, η οποία γεμίζει μια περιοχή με αριθμούς:

Sub FillRange()
  Dim r όσο μακρύς, c Όσο μακρύς
  Dim Number as Long
  Αριθμός = 0
  Για r = 1 έως 50
    Για c = 1 έως 50
      Αριθμός = Αριθμός + 1
      Κελιά(r, c). Επιλέξτε
      Κελιά(r, c).Τιμή = Αριθμός
    Επόμενο γ
  Επόμενο r
End Sub

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

Application.ScreenUpdating = False

Το εύρος γεμίζει πολύ πιο γρήγορα και δεν βλέπετε το αποτέλεσμα μέχρι να ολοκληρωθεί η εκτέλεση της μακροεντολής και να οριστεί (αυτόματα) η ενημέρωση οθόνης σε True.

Όταν κάνετε εντοπισμό σφαλμάτων κώδικα, η εκτέλεση του προγράμματος μερικές φορές τελειώνει κάπου στη μέση χωρίς να έχετε ενεργοποιήσει ξανά την ενημέρωση οθόνης. Αυτό μερικές φορές προκαλεί το παράθυρο της εφαρμογής του Excel να μην ανταποκρίνεται εντελώς. Η έξοδος από αυτήν την παγωμένη κατάσταση είναι απλή: Επιστρέψτε στο VBE και εκτελέστε την ακόλουθη πρόταση στο παράθυρο Άμεση:

Application.ScreenUpdating = True

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

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

Η ακόλουθη δήλωση ορίζει τη λειτουργία υπολογισμού του Excel σε μη αυτόματη:

Application.Calculation = xlCalculationManual

Εκτελέστε την επόμενη πρόταση για να ορίσετε τη λειτουργία υπολογισμού σε αυτόματη:

Application.Calculation = xlCalculationAutomatic

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

Εξάλειψη αυτών των ενοχλητικών μηνυμάτων ειδοποίησης

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

Συμβουλές ταχύτητας Excel 2016 VBA

Μπορείτε να δώσετε εντολή στο Excel να μην εμφανίζει αυτούς τους τύπους ειδοποιήσεων κατά την εκτέλεση μιας μακροεντολής.

Το μυστικό κόλπο για να αποφύγετε αυτά τα μηνύματα ειδοποίησης είναι να εισαγάγετε την ακόλουθη δήλωση VBA στη μακροεντολή σας:

Application.DisplayAlerts = False

Το Excel εκτελεί την προεπιλεγμένη λειτουργία για αυτούς τους τύπους μηνυμάτων. Στην περίπτωση διαγραφής φύλλου, η προεπιλεγμένη λειτουργία είναι Διαγραφή. Εάν δεν είστε σίγουροι ποια είναι η προεπιλεγμένη λειτουργία, κάντε μια δοκιμή για να δείτε τι συμβαίνει.

Όταν τελειώσει η διαδικασία, το Excel επαναφέρει αυτόματα την ιδιότητα DisplayAlerts σε True. Εάν πρέπει να ενεργοποιήσετε ξανά τις ειδοποιήσεις πριν τελειώσει η διαδικασία, χρησιμοποιήστε αυτήν τη δήλωση:

Application.DisplayAlerts = True

Απλοποίηση αναφορών αντικειμένων

Όπως πιθανότατα γνωρίζετε ήδη, οι αναφορές σε αντικείμενα μπορεί να γίνουν πολύ μεγάλες. Για παράδειγμα, μια πλήρης αναφορά σε ένα αντικείμενο Range μπορεί να μοιάζει με αυτό:

Βιβλία εργασίας ("MyBook.xlsx"). Φύλλα εργασίας ("Φύλλο1") _
  .Range ("InterestRate")

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

Ορισμός ποσοστού = Βιβλία εργασίας ("MyBook.xlsx") _
  .Φύλλα εργασίας ("Φύλλο 1"). Εύρος ("Επιτόκιο")

Αφού ορίσετε αυτήν τη μεταβλητή αντικειμένου, μπορείτε να χρησιμοποιήσετε τη μεταβλητή Rate και όχι τη μακροσκελή αναφορά. Για παράδειγμα, μπορείτε να αλλάξετε την τιμή του κελιού με το όνομα InterestRate:

Rate.Value = .085

Είναι πολύ πιο εύκολο να πληκτρολογήσετε από την ακόλουθη πρόταση:

Βιβλία εργασίας ("MyBook.xlsx"). Φύλλα εργασίας ("Φύλλο1"). _
  Εύρος ("InterestRate") = ,085

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

Δήλωση τύπων μεταβλητών

Συνήθως δεν χρειάζεται να ανησυχείτε για τον τύπο των δεδομένων που εκχωρείτε σε μια μεταβλητή. Το Excel χειρίζεται όλες τις λεπτομέρειες για εσάς στα παρασκήνια. Για παράδειγμα, εάν έχετε μια μεταβλητή με το όνομα MyVar, μπορείτε να αντιστοιχίσετε έναν αριθμό οποιουδήποτε τύπου σε αυτήν τη μεταβλητή. Μπορείτε ακόμη και να της αντιστοιχίσετε μια συμβολοσειρά κειμένου αργότερα στη διαδικασία.

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

Σε γενικές γραμμές, θα πρέπει να χρησιμοποιείτε τον τύπο δεδομένων που απαιτεί τον μικρότερο αριθμό byte αλλά εξακολουθεί να μπορεί να χειριστεί όλα τα δεδομένα που του έχουν εκχωρηθεί. Όταν το VBA λειτουργεί με δεδομένα, η ταχύτητα εκτέλεσης εξαρτάται από τον αριθμό των byte που έχει στη διάθεσή του η VBA. Με άλλα λόγια, όσο λιγότερα byte χρησιμοποιεί δεδομένα, τόσο πιο γρήγορα μπορεί η VBA να έχει πρόσβαση και να χειρίζεται τα δεδομένα. Μια εξαίρεση σε αυτό είναι ο τύπος δεδομένων Integer. Εάν η ταχύτητα είναι κρίσιμη, χρησιμοποιήστε τον τύπο δεδομένων Long.

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

Dim Rate ως εύρος
Ορισμός ποσοστού = Βιβλία εργασίας ("MyBook.xlsx") _
  .Φύλλα εργασίας ("Φύλλο 1"). Εύρος ("Επιτόκιο")

Χρήση της δομής With-End With

Χρειάζεται να ορίσετε έναν αριθμό ιδιοτήτων για ένα αντικείμενο; Ο κώδικάς σας εκτελείται πιο γρήγορα εάν χρησιμοποιείτε τη δομή With-End With. Ένα επιπλέον πλεονέκτημα είναι ότι ο κώδικάς σας μπορεί να είναι πιο ευανάγνωστος.

Ο παρακάτω κώδικας δεν χρησιμοποιεί With-End With:

Επιλογή.Οριζόντια Στοίχιση = xlΚέντρο
Επιλογή.Κάθετη στοίχιση = xlCenter
Selection.WrapText = Αληθινό
Επιλογή.Προσανατολισμός = 0
Selection.ShrinkToFit = False
Επιλογή.MergeCells = False

Ακολουθεί ο ίδιος κώδικας, ο οποίος έχει ξαναγραφεί για να χρησιμοποιήσει το With-End With:

Με Επιλογή
  .HorizontalAlignment = xlCenter
  .Κάθετη στοίχιση = xlCenter
  .WrapText = Αληθινό
  .Προσανατολισμός = 0
  .ShrinkToFit = Λάθος
  .MergeCells = Λάθος
Τέλος με

Όταν χρησιμοποιείτε το With-End With, βεβαιωθείτε ότι κάθε πρόταση αρχίζει με μια τελεία.

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

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

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

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

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

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

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.