Πώς να καταγράψετε μια μακροεντολή στο Excel - Οδηγός βήμα προς βήμα

Ακόμα κι αν είστε πλήρης αρχάριος στον κόσμο του Excel VBA, μπορείτε εύκολα να ηχογραφήσετε μια μακροεντολή και να αυτοματοποιήσετε μερικές από τις εργασίες σας.

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

Εάν ενδιαφέρεστε να μάθετε VBA με τον εύκολο τρόπο, ελέγξτε το δικό μου Online Εκπαίδευση Excel VBA.

Τι είναι το Macro;

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

Η μακροεντολή είναι ένας κώδικας γραμμένος σε VBA (Visual Basic for Applications) που σας επιτρέπει να εκτελείτε ένα κομμάτι κώδικα κάθε φορά που εκτελείται.

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

Όταν εγγράφετε μια μακροεντολή, το Excel παρακολουθεί στενά τα βήματα που κάνετε και το σημειώνει σε μια γλώσσα που καταλαβαίνει - η οποία είναι VBA.

Και επειδή το Excel είναι ένας πολύ καλός λήπτης σημειώσεων, δημιουργεί έναν πολύ λεπτομερή κώδικα (όπως θα δούμε αργότερα σε αυτό το σεμινάριο).

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

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

Τώρα ας βουτήξουμε και δούμε πώς να καταγράψουμε μια μακροεντολή στο Excel.

Λήψη της καρτέλας προγραμματιστή στην κορδέλα

Το πρώτο βήμα για την εγγραφή μιας μακροεντολής είναι να εμφανιστεί η καρτέλα Developer στην κορδέλα.

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

  • Κάντε δεξί κλικ σε οποιαδήποτε από τις υπάρχουσες καρτέλες στην κορδέλα και κάντε κλικ στην επιλογή «Προσαρμογή της κορδέλας». Θα ανοίξει το παράθυρο διαλόγου Επιλογές Excel.
  • Στο παράθυρο διαλόγου Επιλογές Excel, θα έχετε τις επιλογές Προσαρμογή της κορδέλας. Στα δεξιά, στο παράθυρο Κύριες καρτέλες, ελέγξτε την επιλογή Προγραμματιστής.
  • Κάντε κλικ στο OK.

Τα παραπάνω βήματα θα κάνουν τη καρτέλα Προγραμματιστής διαθέσιμη στην περιοχή της κορδέλας.

Εγγραφή μακροεντολής στο Excel

Τώρα που έχουμε τα πάντα στη θέση τους, ας μάθουμε πώς να καταγράφουμε μια μακροεντολή στο Excel.

Ας καταγράψουμε μια πολύ απλή μακροεντολή - αυτή που επιλέγει ένα κελί και εισάγει το κείμενο «Excel» σε αυτό. Χρησιμοποιώ το κείμενο "Excel" κατά την εγγραφή αυτής της μακροεντολής, αλλά μη διστάσετε να εισαγάγετε το όνομά σας ή οποιοδήποτε άλλο κείμενο σας αρέσει.

Ακολουθούν τα βήματα για την εγγραφή αυτής της μακροεντολής:

  1. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  2. Στην ομάδα Κωδικός, κάντε κλικ στο κουμπί Μακροεντολή. Αυτό θα ανοίξει το παράθυρο διαλόγου "Εγγραφή μακροεντολής".
  3. Στο παράθυρο διαλόγου Εγγραφή μακροεντολής, εισαγάγετε ένα όνομα για τη μακροεντολή σας. Χρησιμοποιώ το όνομα EnterText. Υπάρχουν ορισμένες συνθήκες ονομασίας που πρέπει να ακολουθήσετε κατά την ονομασία μιας μακροεντολής. Για παράδειγμα, δεν μπορείτε να χρησιμοποιήσετε κενά μεταξύ τους. Συνήθως προτιμώ να διατηρώ τα μακροοικονομικά μου ονόματα ως μία μόνο λέξη, με διαφορετικά μέρη με κεφαλαίο πρώτο αλφάβητο. Μπορείτε επίσης να χρησιμοποιήσετε την υπογράμμιση για να διαχωρίσετε δύο λέξεις - όπως το Enter_Text.
  4. (Προαιρετικό βήμα) Μπορείτε να εκχωρήσετε μια συντόμευση πληκτρολογίου εάν θέλετε. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε τη συντόμευση Control + Shift + N. Να θυμάστε ότι η συντόμευση που ορίζετε εδώ θα παρακάμπτει τυχόν υπάρχουσες συντομεύσεις στο βιβλίο εργασίας σας. Για παράδειγμα, εάν εκχωρήσετε τη συντόμευση Control + S, δεν θα μπορείτε να το χρησιμοποιήσετε για την αποθήκευση του βιβλίου εργασίας (αντ 'αυτού, κάθε φορά που το χρησιμοποιείτε, θα εκτελεί τη μακροεντολή).
  5. Στην επιλογή «Αποθήκευση μακροεντολής σε», βεβαιωθείτε ότι είναι επιλεγμένο «Αυτό το βιβλίο εργασίας». Αυτό το βήμα διασφαλίζει ότι η μακροεντολή αποτελεί μέρος του βιβλίου εργασίας. Θα είναι εκεί όταν το αποθηκεύσετε και το ανοίξετε ξανά ή ακόμα και αν το μοιραστείτε με κάποιον.
  6. (Προαιρετικό βήμα) Εισαγάγετε μια περιγραφή. Συνήθως δεν το κάνω αυτό, αλλά αν είστε εξαιρετικά οργανωμένοι, ίσως θελήσετε να προσθέσετε τι είναι η μακροεντολή.
  7. Κάντε κλικ στο OK. Μόλις κάνετε κλικ στο κουμπί OK, αρχίζει να καταγράφει τις ενέργειές σας στο Excel. Μπορείτε να δείτε το κουμπί «Διακοπή εγγραφής» στην καρτέλα Προγραμματιστής, το οποίο υποδεικνύει ότι η εγγραφή μακροεντολής βρίσκεται σε εξέλιξη.
  8. Επιλέξτε το κελί A2.
  9. Εισαγάγετε το κείμενο Προέχω (ή μπορείτε να χρησιμοποιήσετε το όνομά σας).
  10. Πατήστε το πλήκτρο Enter. Αυτό θα επιλέξει το κελί A3.
  11. Κάντε κλικ στο κουμπί Διακοπή εγγραφής στην καρτέλα Προγραμματιστής.

Συγχαρητήρια!

Μόλις καταγράψατε την πρώτη σας μακροεντολή στο Excel. Δεν είσαι πλέον μακροπαρθένος.

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

Τώρα ας προχωρήσουμε και δοκιμάσουμε αυτήν τη μακροεντολή.

Ακολουθήστε τα παρακάτω βήματα για να δοκιμάσετε τη μακροεντολή:

  1. Διαγράψτε το κείμενο στο κελί Α2. Αυτό γίνεται για να ελέγξετε εάν η μακροεντολή εισάγει το κείμενο στο κελί Α2 ή όχι.
  2. Επιλέξτε οποιοδήποτε κελί - εκτός από το A2. Αυτό γίνεται για να ελέγξετε εάν η μακροεντολή επιλέγει το κελί Α2 ή όχι.
  3. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  4. Στην ομάδα Κωδικός, κάντε κλικ στο κουμπί Μακροεντολές.
  5. Στο παράθυρο διαλόγου Μακροεντολή, κάντε κλικ στο Όνομα μακροεντολής - EnterText.
  6. Κάντε κλικ στο κουμπί Εκτέλεση.

Θα παρατηρήσετε ότι μόλις κάνετε κλικ στο κουμπί Εκτέλεση, το κείμενο «Excel» εισάγεται στο κελί Α2 και επιλέγεται το κελί Α3.

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

Έτσι, η μακροεντολή επιλέγει πρώτα το κελί Α2 και μετά εισάγει το κείμενο Προέχω σε αυτό και, στη συνέχεια, επιλέγει το κελί A3.

Σημείωση: Μπορείτε επίσης να εκτελέσετε τη μακροεντολή χρησιμοποιώντας τη συντόμευση πληκτρολογίου Control + Shift + N (κρατήστε πατημένα τα πλήκτρα Control και Shift και στη συνέχεια πατήστε το πλήκτρο N). Αυτή είναι η ίδια συντόμευση πληκτρολογίου που εκχωρήσαμε στη μακροεντολή κατά την εγγραφή της.

Τι κάνει η εγγραφή μιας μακροεντολής στο πίσω μέρος

Τώρα ας πάμε στο Excel backend - το VB Editor - και να δούμε τι πραγματικά κάνει η εγγραφή μιας μακροεντολής.

Ακολουθούν τα βήματα για να ανοίξετε το VB Editor στο Excel:

  1. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  2. Στην ομάδα Κωδικός, κάντε κλικ στο κουμπί Visual Basic.

Or μπορείτε να χρησιμοποιήσετε τη συντόμευση πληκτρολογίου - ALT + F11 (κρατήστε πατημένο το πλήκτρο ALT και πατήστε F11), αντί για τα δύο παραπάνω βήματα. Αυτή η συντόμευση ανοίγει επίσης τον ίδιο επεξεργαστή VB.

Τώρα αν βλέπετε το VB Editor για πρώτη φορά, μην σας πιέζει.

Επιτρέψτε μου να σας γνωρίσω γρήγορα με την ανατομία του VB Editor.

  • Γραμμή μενού: Εδώ έχετε όλες τις επιλογές του VB Editor. Θεωρήστε το ως την κορδέλα του VBA. Περιέχει εντολές που μπορείτε να χρησιμοποιήσετε ενώ εργάζεστε με το VB Editor.
  • Γραμμή εργαλείων - Αυτό είναι σαν τη γραμμή εργαλείων γρήγορης πρόσβασης του προγράμματος επεξεργασίας VB. Έρχεται με μερικές χρήσιμες επιλογές και μπορείτε να προσθέσετε περισσότερες επιλογές σε αυτό. Το πλεονέκτημά του είναι ότι μια επιλογή στη γραμμή εργαλείων βρίσκεται μόλις ένα κλικ μακριά.
  • Παράθυρο Εξερεύνησης έργου - Αυτό είναι το σημείο όπου το Excel παραθέτει όλα τα βιβλία εργασίας και όλα τα αντικείμενα σε κάθε βιβλίο εργασίας. Για παράδειγμα, εάν έχουμε ένα βιβλίο εργασίας με 3 φύλλα εργασίας, θα εμφανίζεται στο Project Explorer. Υπάρχουν μερικά επιπλέον αντικείμενα εδώ, όπως ενότητες, φόρμες χρηστών και ενότητες κλάσης.
  • Παράθυρο κώδικα - Εδώ καταγράφεται ή γράφεται ο κωδικός VBA. Υπάρχει ένα παράθυρο κώδικα για κάθε αντικείμενο που παρατίθεται στην Εξερεύνηση έργου - όπως φύλλα εργασίας, βιβλία εργασίας, ενότητες κλπ. Θα δούμε αργότερα σε αυτό το σεμινάριο ότι η καταγεγραμμένη μακροεντολή μεταβαίνει στο παράθυρο κώδικα μιας ενότητας.
  • Παράθυρο ιδιοτήτων - Μπορείτε να δείτε τις ιδιότητες κάθε αντικειμένου σε αυτό το παράθυρο. Συχνά χρησιμοποιώ αυτό το παράθυρο για να ονομάσω αντικείμενα ή να αλλάξω τις κρυφές ιδιότητες. Ενδέχεται να μην δείτε αυτό το παράθυρο όταν ανοίγετε τον επεξεργαστή VB. Για να το εμφανίσετε, κάντε κλικ στην καρτέλα προβολή και επιλέξτε Παράθυρο ιδιοτήτων.
  • Άμεσο Παράθυρο - Χρησιμοποιώ συχνά το άμεσο παράθυρο ενώ γράφω κώδικα. Είναι χρήσιμο όταν θέλετε να δοκιμάσετε ορισμένες δηλώσεις ή κατά τον εντοπισμό σφαλμάτων. Μπορεί να μην είναι ορατό από προεπιλογή και μπορείτε να το κάνετε να εμφανιστεί κάνοντας κλικ στην καρτέλα Προβολή και επιλέγοντας την επιλογή Άμεσο παράθυρο.

Όταν ηχογραφήσαμε τη μακροεντολή - EnterText, τα ακόλουθα πράγματα συνέβησαν στο VB Editor:

  • Προστέθηκε μια νέα ενότητα.
  • Καταγράφηκε μια μακροεντολή με το όνομα που καθορίσαμε - EnterText
  • Ο κωδικός γράφτηκε στο παράθυρο κώδικα της μονάδας.

Αν κάνετε διπλό κλικ στη μονάδα (ενότητα 1 σε αυτήν την περίπτωση), θα εμφανιστεί ένα παράθυρο κώδικα όπως φαίνεται παρακάτω.

Ακολουθεί ο κώδικας που μας έδωσε η συσκευή εγγραφής μακροεντολών:

Sub EnterText () '' EnterText Macro '' Shortcut Keyboard: Ctrl+Shift+N 'Range ("A2"). Select ActiveCell.FormulaR1C1 = "Excel" Range ("A3"). Select End Sub

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

Τώρα επιτρέψτε μου να καλύψω γρήγορα τι κάνει κάθε γραμμή κώδικα:

Ο κώδικας ξεκινά με Sub ακολουθούμενο από το όνομα της μακροεντολής και κενή παρένθεση. Το Sub είναι συντομογραφία για Subroutine. Κάθε υπορουτίνα (που ονομάζεται επίσης διαδικασία) στο VBA ξεκινά με Sub και τελειώνει με End Sub.

  • Εύρος ("A2"). Επιλέξτε - Αυτή η γραμμή επιλέγει το κελί A2.
  • ActiveCell.FormulaR1C1 = "Excel" - αυτή η γραμμή εισάγει το κείμενο Excel στο ενεργό κελί. Δεδομένου ότι επιλέξαμε το Α2 ως πρώτο βήμα, γίνεται το ενεργό μας κελί.
  • Εύρος ("A3"). Επιλέξτε - Αυτό επιλέγει το κελί A3. Αυτό συμβαίνει καθώς πατάμε το πλήκτρο Enter μετά την εισαγωγή του κειμένου, αποτέλεσμα του οποίου ήταν η επιλογή του κελιού A3.

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

Λάβετε υπόψη ότι ο κώδικας που γράφτηκε από μια συσκευή εγγραφής μακροεντολών δεν είναι σε καμία περίπτωση αποτελεσματικός κώδικας.

Η συσκευή εγγραφής μακροεντολών προσθέτει μερικές φορές πολύ χνούδι στον κώδικα που δεν είναι απαραίτητο μερικές φορές. Αλλά αυτό δεν σημαίνει ότι δεν είναι χρήσιμο. Για κάποιον που μαθαίνει VBA, μια συσκευή εγγραφής μακροεντολών μπορεί να είναι ένας πολύ καλός τρόπος για να αναλύσει πώς λειτουργούν τα πράγματα στο VBA.

Απόλυτη Vs Σχετική Εγγραφή Μακροεντολών

Γνωρίζετε ήδη για τις απόλυτες και σχετικές αναφορές στο Excel… σωστά;

Εάν δεν το κάνετε - διαβάστε πρώτα αυτό το σεμινάριο για τις αναφορές.

Διαβασέ το? Προχωράμε.

Θα δούμε αργότερα σε αυτήν την ενότητα σχετικά με τον τρόπο καταγραφής μακροεντολών σε απόλυτες και σχετικές αναφορές. Αλλά πριν από αυτό, επιτρέψτε μου να συνοψίσω γρήγορα τη διαφορά μεταξύ απόλυτης και σχετικής αναφοράς στο VBA (σε περίπτωση που τεμπελιάσατε και δεν διαβάσατε τον σύνδεσμο που έδωσα πριν από μερικές γραμμές):

Εάν χρησιμοποιείτε μια απόλυτη επιλογή αναφοράς για την εγγραφή μιας μακροεντολής, ο κώδικας VBA θα αναφέρεται πάντα στα ίδια κελιά που χρησιμοποιήσατε. Για παράδειγμα, εάν επιλέξετε το κελί A2, εισαγάγετε το κείμενο Excel και πατήστε Enter, κάθε φορά - ανεξάρτητα από το πού βρίσκεστε στο φύλλο εργασίας και ανεξάρτητα από το ποιο κελί είναι επιλεγμένο, ο κωδικός σας θα επιλέξει πρώτα το κελί A2, θα εισαγάγει το κείμενο Excel και μετά μεταβείτε στο κελί Α3.

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

Τώρα επιλέγετε το κελί Α2, εισάγετε το κείμενο Excel και πατάτε το πλήκτρο εισαγωγής. Τώρα, όταν εκτελείτε αυτήν τη μακροεντολή, δεν θα επιστρέψει στο κελί Α2, αλλά θα μετακινηθεί σε σχέση με το ενεργό κελί. Για παράδειγμα, εάν επιλεγεί το κελί Κ3, θα μετακινηθεί στο Κ4, θα εισαγάγει το κείμενο Excel και, στη συνέχεια, τελικά θα επιλέξει το κελί Κ5.

Τώρα επιτρέψτε μου να σας πω πώς να καταγράψετε μια μακροεντολή σε σχετική λειτουργία αναφορών:

  1. Επιλέξτε το κελί A1.
  2. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  3. Στην ομάδα Κωδικός, κάντε κλικ στο κουμπί «Χρήση σχετικών αναφορών». Θα γίνει πράσινο, υποδεικνύοντας ότι είναι ενεργοποιημένο.
  4. Κάντε κλικ στο κουμπί Εγγραφή μακροεντολής.
  5. Στο παράθυρο διαλόγου Εγγραφή μακροεντολής, εισαγάγετε ένα όνομα για τη μακροεντολή σας. Χρησιμοποιώ το όνομα EnterTextRelRef.
  6. Στην επιλογή μακροεντολή Store, βεβαιωθείτε ότι είναι επιλεγμένο "Αυτό το βιβλίο εργασίας".
  7. Κάντε κλικ στο OK.
  8. Επιλέξτε το κελί A2.
  9. Εισαγάγετε το κείμενο Προέχω (ή μπορείτε να εισαγάγετε το όνομά σας).
  10. Πατήστε το πλήκτρο Enter. Αυτό θα οδηγήσει τον κέρσορα στο κελί A3.
  11. Κάντε κλικ στο κουμπί Διακοπή εγγραφής στην καρτέλα Προγραμματιστής.

Αυτό θα καταγράψει τη μακροεντολή στη σχετική λειτουργία αναφοράς.

Κάνε τώρα αυτό.

  1. Επιλέξτε οποιοδήποτε κελί (εκτός από το A1).
  2. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  3. Στην ομάδα Κωδικός, κάντε κλικ στο κουμπί Μακροεντολές.
  4. Στο παράθυρο διαλόγου Μακροεντολή, κάντε κλικ στο Όνομα μακροεντολής - EnterTextRelRef.
  5. Κάντε κλικ στο κουμπί Εκτέλεση.

Τι γίνεται; Μήπως ο δρομέας επέστρεψε στο κελί Α3.

Δεν θα το έκανε - επειδή έχετε καταγράψει τη μακροεντολή στη σχετική λειτουργία αναφοράς. Έτσι, ο δρομέας θα μετακινηθεί σε σχέση με το ενεργό κελί. Για παράδειγμα, εάν το κάνετε αυτό όταν είναι επιλεγμένο το κελί K3, θα εισαγάγει το κείμενο Excel είναι κελί Κ4 και θα καταλήξει να επιλέξει το κελί Κ5.

Ακολουθεί ο κώδικας που καταγράφεται στο backend (παράθυρο κώδικα λειτουργικής μονάδας VB Editor):

Sub EnterTextRelRef () '' EnterTextRelRef Macro '' ActiveCell.Offset (1, 0) .Range ("A1"). Select ActiveCell.FormulaR1C1 = "Excel" ActiveCell.Offset (1, 0) .Range ("A1"). Επιλέξτε Τέλος υπο

Σημειώστε ότι ολόκληρος αυτός ο κωδικός δεν αναφέρεται πουθενά στα κελιά K3 ή K4. Αντ 'αυτού, χρησιμοποιεί το Activecell για να αναφέρεται στο επιλεγμένο κελί και το Offset για να μετακινηθεί σε σχέση με το ενεργό κελί.

Μην ανησυχείτε για το τμήμα εύρους ("A1") που έχει ο κώδικας. Είναι ένας από εκείνους τους περιττούς κωδικούς που προσθέτει η συσκευή εγγραφής μακροεντολών που δεν εξυπηρετεί κανένα σκοπό και μπορεί να αφαιρεθεί. Ο κώδικας θα λειτουργούσε μια χαρά χωρίς αυτό.

Το κουμπί "Χρήση σχετικής αναφοράς" στην καρτέλα Προγραμματιστής είναι ένα κουμπί εναλλαγής. Μπορείτε να το απενεργοποιήσετε (και να επιστρέψετε στην απόλυτη αναφορά) κάνοντας κλικ σε αυτό.

Τι δεν μπορεί να κάνει μια συσκευή εγγραφής μακροεντολών

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

  • Δεν μπορείτε να εκτελέσετε έναν κωδικό χωρίς να επιλέξετε το αντικείμενο. Εάν θέλετε η συσκευή εγγραφής μακροεντολών να μεταβεί στο επόμενο φύλλο εργασίας και να επισημάνει όλα τα συμπληρωμένα κελιά στη στήλη Α, χωρίς να αφήσετε το τρέχον φύλλο εργασίας, τότε δεν θα είναι σε θέση να το κάνει αυτό. Είναι επειδή αν σας ζητήσω να το κάνετε αυτό, ακόμη και εσείς δεν θα μπορείτε να το κάνετε αυτό (χωρίς να αφήσετε το τρέχον φύλλο). Και αν δεν μπορείτε να το κάνετε μόνοι σας, πώς θα καταγράψει τις ενέργειές σας η συσκευή εγγραφής μακροεντολών. Σε τέτοιες περιπτώσεις, πρέπει να μεταβείτε χειροκίνητα και να δημιουργήσετε/επεξεργαστείτε τον κώδικα.
  • Δεν μπορείτε να δημιουργήσετε μια προσαρμοσμένη λειτουργία με μια συσκευή εγγραφής μακροεντολών. Με το VBA, μπορείτε να δημιουργήσετε προσαρμοσμένες λειτουργίες που μπορείτε να χρησιμοποιήσετε στο φύλλο εργασίας ως κανονικές συναρτήσεις. Μπορείτε να το δημιουργήσετε γράφοντας χειροκίνητα τον κώδικα.
  • Δεν μπορείτε να εκτελέσετε κωδικούς βάσει Συμβάντων: Στο VBA μπορείτε να χρησιμοποιήσετε πολλά συμβάντα - όπως το άνοιγμα ενός βιβλίου εργασίας, η προσθήκη ενός φύλλου εργασίας, το διπλό κλικ σε ένα κελί κ.λπ., για να εκτελέσετε έναν κώδικα που σχετίζεται με αυτό το συμβάν. Μπορείτε να χρησιμοποιήσετε μια συσκευή εγγραφής μακροεντολών για να το κάνετε αυτό.
  • Δεν μπορείτε να δημιουργήσετε βρόχους με συσκευή εγγραφής μακροεντολών. Όταν εισάγετε χειροκίνητα τον κώδικα, μπορείτε να αξιοποιήσετε τη δύναμη των βρόχων στο VBA (όπως Για Επόμενο, Για Κάθε Επόμενο, Κάνε Ενώ, Κάνε μέχρι). Αλλά δεν μπορείτε να το κάνετε αυτό όταν ηχογραφείτε μια μακροεντολή.
  • Δεν μπορείτε να αναλύσετε τις συνθήκες: Μπορείτε να ελέγξετε για συνθήκες εντός του κώδικα χρησιμοποιώντας τη συσκευή εγγραφής μακροεντολών. Εάν γράφετε έναν κωδικό VBA με μη αυτόματο τρόπο, μπορείτε να χρησιμοποιήσετε τις δηλώσεις IF then Else για να αναλύσετε μια κατάσταση και να εκτελέσετε έναν κωδικό εάν είναι αληθινός (ή άλλος κωδικός εάν είναι ψευδής).
  • Δεν μπορείτε να περάσετε ορίσματα σε διαδικασία μακροεντολής: Όταν εγγράφετε μια μακροεντολή, δεν θα έχει ποτέ κανένα όρισμα. Μια υπορουτίνα μπορεί να λάβει ορίσματα εισόδου που μπορούν να χρησιμοποιηθούν μέσα στη μακροεντολή για την εκτέλεση μιας εργασίας. Κατά την εγγραφή μιας μακροεντολής, αυτό δεν μπορεί να γίνει καθώς οι καταγεγραμμένες μακροεντολές είναι ανεξάρτητες και δεν συνδέονται με άλλες υπάρχουσες μακροεντολές.

Επεκτάσεις αρχείων με δυνατότητα μακροεντολής

Όταν εγγράφετε μια μακροεντολή ή γράφετε μη αυτόματα κώδικα VBA στο Excel, πρέπει να αποθηκεύσετε το αρχείο με επέκταση αρχείου με δυνατότητα μακροεντολής (.xlsm).

Πριν από το Excel 2007, υπήρχε μία μόνο μορφή αρχείου που αρκούσε - .xls.

Αλλά από το 2007 και μετά, το .xlsx εισήχθη ως η τυπική επέκταση αρχείου. Τα αρχεία που αποθηκεύονται ως .xlsx δεν μπορούν να κρατήσουν μακροεντολή σε αυτό. Έτσι, εάν έχετε ένα αρχείο με επέκταση .xlsx και εγγράψετε/γράψετε μια μακροεντολή και την αποθηκεύσετε, θα σας προειδοποιήσει να το αποθηκεύσετε σε μορφή με δυνατότητα μακροεντολής και θα σας δείξει ένα παράθυρο διαλόγου (όπως φαίνεται παρακάτω):

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

Έτσι, εάν έχετε μια μακροεντολή στο βιβλίο εργασίας σας, πρέπει να την αποθηκεύσετε σε μορφή .xlsm για να διατηρήσετε αυτήν τη μακροεντολή.

Διαφορετικοί τρόποι εκτέλεσης μιας μακροεντολής στο Excel

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

Αλλά υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να εκτελέσετε μακροεντολές.

  1. Εκτέλεση μακροεντολής από την κορδέλα (καρτέλα προγραμματιστή)
  2. Χρήση συντόμευσης πληκτρολογίου (την οποία πρέπει να αντιστοιχίσετε)
  3. Εκχωρήστε τη μακροεντολή σε σχήμα
  4. Εκχωρήστε τη μακροεντολή σε ένα κουμπί
  5. Εκτελέστε μια μακροεντολή από το πρόγραμμα επεξεργασίας VB

Συμπέρασμα - Καταγράψτε μια μακροεντολή όταν κολλήσετε

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

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

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

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

wave wave wave wave wave