Πώς να εκτελέσετε μια μακροεντολή στο Excel

Πίνακας περιεχομένων

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

Πρώτον: Βεβαιωθείτε ότι οι μακροεντολές είναι ενεργοποιημένες

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

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

  • Αποθηκεύστε το βιβλίο εργασίας
  • Κλείστε το βιβλίο εργασίας και ανοίξτε το ξανά
  • Όταν φορτωθεί το βιβλίο εργασίας, θα δείτε ένα Προειδοποίηση ασφαλείας άμεση (εικόνα παρακάτω). Κάντε κλικ Ενεργοποίηση περιεχομένου.

Εκτελέστε μια μακροεντολή από τη λίστα μακροεντολών

Μπορείτε να έχετε πρόσβαση σε μια λίστα μακροεντολών από την καρτέλα Προβολή. Για να δείτε αυτήν τη λίστα:

  • Επίλεξε το Θέα αυτί
  • Κάντε κλικ στο κουμπί με την ένδειξη Μακροεντολές για να εμφανιστεί η λίστα Μακροεντολών

  • Επιλέξτε τη μακροεντολή που θέλετε να εκτελέσετε από τη λίστα και, στη συνέχεια, κάντε κλικ στο Τρέξιμο κουμπί

Μπορείτε επίσης να εμφανίσετε τη λίστα μακροεντολών ανά πάσα στιγμή πατώντας ALT+F8.

Εκτελέστε μια μακροεντολή χρησιμοποιώντας μια συντόμευση πληκτρολογίου

Μπορείτε να αντιστοιχίσετε μια συντόμευση πληκτρολογίου σε μια μακροεντολή που χρησιμοποιείτε συχνά, με τη μορφή CTRL+ή CTRL+SHIFT+. Για να το κάνω αυτό:

  • Εμφανίστε τη λίστα μακροεντολών (Θέα > Μακροεντολές, ή ALT+F8)
  • Επιλέξτε τη μακροεντολή στην οποία θέλετε να εφαρμόσετε μια συντόμευση
  • Κάντε κλικ Επιλογές… να δείξει το Επιλογές μακροεντολών υποδιάλογο

  • Στο πλαίσιο κειμένου κάτω Πλήκτρο συντόμευσης, πληκτρολογήστε ένα μόνο γράμμα και, στη συνέχεια, κάντε κλικ ΕντάξειΤο Εάν κρατάτε το πλήκτρο SHIFT ενώ πληκτρολογείτε το γράμμα, η ετικέτα δίπλα στο πλαίσιο θα εμφανίζει το SHIFT ως μέρος της συντόμευσης

ΣΗΜΕΙΩΣΗ: συνιστάται ιδιαίτερα να χρησιμοποιείτε το SHIFT κατά τη δημιουργία ενός πλήκτρου συντόμευσης! Το Excel χρησιμοποιεί συντομεύσεις CTRL+ για τον εαυτό του, π.χ. CTRL+C για αντιγραφή ή CTRL+V για αποθήκευση. Εάν δημιουργήσετε μια συντόμευση μακροεντολής χρησιμοποιώντας αυτές ή άλλες συντομεύσεις Excel, θα αντικαταστήσετε τη συντόμευση του Excel έως ότου εκχωρήσετε εκ νέου τη συντόμευση μακροεντολής.

Εκτελέστε μια μακροεντολή από το πρόγραμμα επεξεργασίας VB

Οι μακροεντολές μπορούν επίσης να εκτελεστούν από το πρόγραμμα επεξεργασίας VB. Το VB Editor σάς επιτρέπει να ελέγξετε τον κώδικα μιας μακροεντολής και να κάνετε όποιες αλλαγές θέλετε πριν την εκτέλεσή του.

Για να εκτελέσετε μια μακροεντολή στο πρόγραμμα επεξεργασίας VB:

  • Ανοίξτε το VB Editor (καρτέλα προγραμματιστή> Visual Basic ή ALT+F11)

  • Στο Εργο κάντε διπλό κλικ στη μονάδα που περιέχει τη μακροεντολή που θέλετε να δοκιμάσετε
  • Στο παράθυρο κωδικού της ενότητας, τοποθετήστε τον κέρσορα οπουδήποτε στον κώδικα της μακροεντολής μεταξύ "Sub" και "End Sub"
  • Κάντε κλικ στο Τρέξιμο κουμπί στη γραμμή εργαλείων ή πατήστε τη συντόμευση πληκτρολογίου F5

Εκτελέστε μια μακροεντολή χρησιμοποιώντας ένα κουμπί ή σχήμα

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

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

Αυτόματη εκτέλεση μιας μακροεντολής χρησιμοποιώντας συμβάντα στο VBA

Είναι δυνατό να εκτελέσετε μια μακροεντολή όταν συμβαίνει κάτι στο Excel - για παράδειγμα, όταν ανοίγει ένα βιβλίο εργασίας ή όταν αλλάζει η τιμή κελιού. Αυτά λέγονται Εκδηλώσεις, και μπορείτε να γράψετε κώδικα VBA για να καλέσουν μακροεντολές ή να εκτελέσουν άλλες λειτουργίες.

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

  • Ανοίξτε το πρόγραμμα επεξεργασίας VB (ALT+F11)
  • Κάντε διπλό κλικ στο ThisWorkbook αντικείμενο στο VB Editor's Παράθυρο έργου
  • Επιλέξτε "Βιβλίο εργασίας" από το αναπτυσσόμενο μενού επάνω αριστερά στο παράθυρο κώδικα
  • Κάντε κλικ στο αναπτυσσόμενο μενού στα δεξιά για να δείτε μια λίστα συμβάντων

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

Workbook_Open ()

Το συμβάν Workbook_Open () ενεργοποιείται όταν ανοίγει ένα βιβλίο εργασίας. Εάν λάβετε την Προειδοποίηση ασφαλείας μετά το άνοιγμα ενός βιβλίου εργασίας, αυτό το συμβάν ενεργοποιείται αφού κάνετε κλικ στην επιλογή "Ενεργοποίηση περιεχομένου".

12345 Private Sub Workbook_Open ()MsgBox "Το βιβλίο εργασίας άνοιξε!"Τέλος υπο

Workbook_BeforeClose (Ακύρωση ως Boolean)

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

ο Ματαίωση η παράμετρος μπορεί να οριστεί σε True για να σταματήσει το κλείσιμο του βιβλίου εργασίας.

123456789 Private Sub Workbook_BeforeClose (Cancel As Boolean)Εάν MsgBox ("Είστε σίγουροι;", vb ΝαιΟχι + vbQuestion, "Κλείσιμο") = vbΌχι ΤότεΑκύρωση = ΑλήθειαΤέλος εανΤέλος υπο

Worksheet_Change (ByVal Target As Range)

Το Worksheet_Change () ενεργοποιείται όταν αλλάζει η τιμή ενός κελιού - είτε αλλάζει από μακροεντολή, είτε από λειτουργία αντιγραφής/επικόλλησης είτε από εξωτερικό σύνδεσμο. Ωστόσο, δεν ενεργοποιείται όταν υπολογίζεται ξανά μια τιμή μέσω ενός τύπου.

ο Στόχος η παράμετρος αντιπροσωπεύει τα κελιά των οποίων η τιμή έχει αλλάξει.

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

123456789 Private Sub Worksheet_Change (ByVal Target As Range)MsgBox "Τα κελιά άλλαξαν:" & Target.AddressApplication.EnableEvents = ΛάθοςΕύρος ("A2"). Value = Range ("A2"). Value + Target.Cells.CountApplication.EnableEvents = TrueΤέλος υπο

Worksheet_SelectionChange (ByVal Target As Range)

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

Μπορείτε επίσης να ενεργοποιήσετε αυτό το συμβάν με κωδικό, δηλαδή "Εύρος (" A1 "). Επιλέξτε". Όπως και με το Worksheet_Change (), θα πρέπει να είστε προσεκτικοί σχετικά με την επιλογή άλλων κελιών μέσα σε αυτό το συμβάν, καθώς μπορείτε να προκαλέσετε άπειρο βρόχο. Χρήση Application.EnableEvents.

123456789 Private Sub Worksheet_SelectionChange (ByVal Target As Range)Εάν Target.Address = "$ A $ 1" ΤότεMsgBox "Δρομέας στην αρχική θέση."Τέλος εανΤέλος υπο

Διακοπή λειτουργίας μιας μακροεντολής

Μια μακροεντολή που εκτελείται μπορεί να διακοπεί πατώντας ESC ή CTRL+BREAKΤο Από προεπιλογή, μια μακροεντολή που διακόπτεται θα εμφανίζει το ακόλουθο παράθυρο διαλόγου:

Κάνοντας κλικ Τέλος θα σταματήσει τη μακροεντολή, ενώ Να συνεχίσει θα το ξαναρχίσει. Κάνοντας κλικ Εντοπισμός σφαλμάτων θα ανοίξει τη μακροεντολή στο πρόγραμμα επεξεργασίας VB και θα εστιάσει τη γραμμή κώδικα στην οποία έχει τεθεί σε παύση η εκτέλεση. (Μέσα στο VB Editor μπορείτε να σταματήσετε ή να συνεχίσετε τη μακροεντολή χρησιμοποιώντας τα κουμπιά Εκτέλεση ή Τέλος στη γραμμή εργαλείων.)

Application.EnableCancelKey

Μπορείτε να απενεργοποιήσετε τη δυνατότητα διακοπής μιας μακροεντολής με ESC ή CTRL+BREAK ορίζοντας το Application.EnableCancelKey ιδιοκτησία. Αυτή η ιδιότητα έχει τρεις πιθανές τιμές:

  • xlΔιακοπή - αυτή είναι η προεπιλεγμένη τιμή, η οποία κάνει το Excel να εμφανίζει το παραπάνω παράθυρο διαλόγου
  • xl Απενεργοποιημένο - καταργεί τη δυνατότητα διακοπής μιας τρέχουσας μακροεντολής
  • xlErrorHandler - όταν γίνεται μια διακοπή, ρίχνεται ένα σφάλμα που μπορεί να αντιμετωπιστεί με κώδικα

Κάθε φορά που σταματά η εκτέλεση κώδικα, το Excel επαναφέρει πάντα την τιμή της εφαρμογής.EnableCancelKey πίσω στο xlΔιακοπή.

Ένας καλός λόγος για τη χρήση αυτής της ιδιότητας είναι η ασφάλεια. Για παράδειγμα, εάν είχατε μια μακροεντολή που προσωρινά προστατεύει τμήματα του βιβλίου εργασίας σας, ένας χρήστης θα μπορούσε ενδεχομένως να σταματήσει τη μακροεντολή αμέσως μετά την κατάργηση της προστασίας και να αποκτήσει πρόσβαση σε περιεχόμενο που δεν σκοπεύατε να έχουν. Ρυθμίζοντας το Application.EnableCancelKey, μπορείτε να απενεργοποιήσετε πλήρως την ικανότητά τους να το κάνουν αυτό ή να χειριστείτε τη διακοπή χάρη με έναν χειριστή σφαλμάτων που προστατεύει εκ νέου το βιβλίο εργασίας.

1234567891011 Sub UpdateBaseData (ByVal NewData As Range, ByVal Target As Range)Application.EnableCancelKey = xl ΑπενεργοποιημένοTarget.Worksheet.Unprotect "MyPassword"NewData.Copy TargetTarget.Worksheet.Protect "MyPassword"Application.EnableCancelKey = xlInterruptΤέλος υπο

Κλείσιμο εξαναγκασμού του Excel με τη Διαχείριση εργασιών των Windows

Εάν η μακροεντολή έχει "κρεμαστεί" ή το Excel έχει γίνει πολύ απασχολημένο για να αναγνωρίσει μια προσπάθεια διακοπής, ίσως χρειαστεί να κλείσετε το ίδιο το Excel με το Διαχείριση εργασιών των WindowsΤο (ΣΗΜΕΙΩΣΗ: αν το κάνετε αυτό, μπορεί να χάσετε οποιαδήποτε εργασία που δεν έχει αποθηκευτεί και θα πρέπει να βασιστείτε σε μια έκδοση αυτόματης ανάκτησης του βιβλίου εργασίας σας.)

  • Ανοίξτε τη Διαχείριση εργασιών απευθείας χρησιμοποιώντας CTRL+SHIFT+ESC
  • Επίλεξε το "Διαδικασίες"Καρτέλα
  • Αναπτύξτε το στοιχείο "Microsoft Excel" για να εμφανίσετε όλα τα βιβλία εργασίας
  • Επιλέξτε το βιβλίο εργασίας που θέλετε να κλείσετε και, στη συνέχεια, κάντε κλικ Τέλος εργασίας στην κάτω δεξιά γωνία

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

wave wave wave wave wave