Συμβουλές ταχύτητας 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, βεβαιωθείτε ότι κάθε πρόταση αρχίζει με μια τελεία.


Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Τρόπος διόρθωσης σφαλμάτων κατά την εκτύπωση λανθασμένων εγγράφων του Microsoft Word Τα σφάλματα στην εκτύπωση εγγράφων Word με αλλαγμένες γραμματοσειρές, ακατάστατες παραγράφους, κείμενο που λείπει ή χαμένο περιεχόμενο είναι αρκετά συνηθισμένα. Ωστόσο, μην το κάνετε

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Εάν έχετε χρησιμοποιήσει το στυλό ή το highlighter για να σχεδιάσετε στις διαφάνειες του PowerPoint κατά τη διάρκεια μιας παρουσίασης, μπορείτε να αποθηκεύσετε τα σχέδια για την επόμενη παρουσίαση ή να τα σβήσετε, ώστε την επόμενη φορά που θα το δείξετε να ξεκινήσετε με καθαρές διαφάνειες PowerPoint. Ακολουθήστε αυτές τις οδηγίες για να διαγράψετε σχέδια με στυλό και επισημάνσεις: Σβήσιμο γραμμών μία στο […]

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

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

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

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

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

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

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

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

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

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]