Κατά την εγγραφή των ενεργειών σας, το Excel καταγράφει συνήθως απόλυτες αναφορές σε κελιά. (Αυτή είναι η προεπιλεγμένη λειτουργία εγγραφής.) Αλλά πολύ συχνά, αυτή είναι η λανθασμένη λειτουργία εγγραφής. Εάν χρησιμοποιείτε τη λειτουργία απόλυτης εγγραφής, το Excel καταγράφει τις πραγματικές αναφορές κελιών. Εάν χρησιμοποιείτε σχετική εγγραφή, το Excel καταγράφει σχετικές αναφορές σε κελιά. Συνεχίστε να διαβάζετε για να δείτε τη διαφορά.
Εγγραφή σε απόλυτη λειτουργία
Ακολουθήστε αυτά τα βήματα για να εγγράψετε μια απλή μακροεντολή σε απόλυτη λειτουργία. Αυτή η μακροεντολή απλώς εισάγει ονόματα τριών μηνών σε ένα φύλλο εργασίας:
Βεβαιωθείτε ότι το κουμπί Προγραμματιστής → Κωδικός → Χρήση σχετικών αναφορών δεν είναι επισημασμένο και, στη συνέχεια, επιλέξτε Προγραμματιστής → Κωδικός → Εγγραφή μακροεντολής.
Πληκτρολογήστε Absolute ως όνομα αυτής της μακροεντολής.
Κάντε κλικ στο OK για να ξεκινήσει η εγγραφή.
Ενεργοποιήστε το κελί B1 και πληκτρολογήστε Jan σε αυτό το κελί.
Μεταβείτε στο κελί C1 και πληκτρολογήστε Feb.
Μεταβείτε στο κελί D1 και πληκτρολογήστε Mar.
Κάντε κλικ στο κελί B1 για να το ενεργοποιήσετε ξανά.
Σταματήστε τη συσκευή εγγραφής μακροεντολών.
Πατήστε Alt+F11 για να ενεργοποιήσετε το VBE.
Εξετάστε την ενότητα Module1.
Το Excel δημιουργεί τον ακόλουθο κώδικα:
Υποαπόλυτο()
'
«Απόλυτη Μακροεντολή
'
Εύρος ("B1"). Επιλέξτε
ActiveCell.FormulaR1C1 = "Ιανουάριος"
Εύρος (“C1”). Επιλέξτε
ActiveCell.FormulaR1C1 = "Φεβρουάριος"
Εύρος (“D1”). Επιλέξτε
ActiveCell.FormulaR1C1 = "Mar"
Εύρος ("B1"). Επιλέξτε
End Sub
Όταν εκτελείται, αυτή η μακροεντολή επιλέγει το κελί B1 και εισάγει τα ονόματα των τριών μηνών στην περιοχή B1:D1. Στη συνέχεια, η μακροεντολή ενεργοποιεί ξανά το κελί B1.
Αυτές οι ίδιες ενέργειες πραγματοποιούνται ανεξάρτητα από το ποιο κελί είναι ενεργό όταν εκτελείτε τη μακροεντολή. Μια μακροεντολή που καταγράφεται χρησιμοποιώντας απόλυτες αναφορές παράγει πάντα τα ίδια αποτελέσματα όταν εκτελείται. Σε αυτήν την περίπτωση, η μακροεντολή εισάγει πάντα τα ονόματα των πρώτων τριών μηνών στην περιοχή B1:D1 στο ενεργό φύλλο εργασίας.
Εγγραφή σε σχετική λειτουργία
Σε ορισμένες περιπτώσεις, θέλετε η καταγεγραμμένη μακροεντολή σας να λειτουργεί με τοποθεσίες κελιών με σχετικό τρόπο. Μπορεί να θέλετε η μακροεντολή να αρχίσει να εισάγει τα ονόματα των μηνών στο ενεργό κελί. Σε μια τέτοια περίπτωση, πρέπει να χρησιμοποιήσετε σχετική εγγραφή.
Μπορείτε να αλλάξετε τον τρόπο με τον οποίο το Excel καταγράφει τις ενέργειές σας κάνοντας κλικ στο κουμπί Χρήση σχετικών αναφορών στην ομάδα Κώδικας της καρτέλας Προγραμματιστής. Αυτό το κουμπί είναι ένα κουμπί εναλλαγής. Όταν το κουμπί εμφανίζεται επισημασμένο με διαφορετικό χρώμα, η λειτουργία εγγραφής είναι σχετική. Όταν το κουμπί εμφανίζεται κανονικά, κάνετε εγγραφή σε απόλυτη λειτουργία.
Μπορείτε να αλλάξετε τη μέθοδο εγγραφής ανά πάσα στιγμή, ακόμη και στη μέση της εγγραφής.
Για να δείτε πώς λειτουργεί η εγγραφή σχετικής λειτουργίας, διαγράψτε τα περιεχόμενα της περιοχής B1:D1 και, στη συνέχεια, εκτελέστε τα ακόλουθα βήματα:
Ενεργοποιήστε το κελί Β1.
Επιλέξτε Προγραμματιστής → Κωδικός → Εγγραφή μακροεντολής.
Ονομάστε αυτήν τη μακροεντολή Σχετική.
Κάντε κλικ στο OK για να ξεκινήσει η εγγραφή.
Κάντε κλικ στο κουμπί Χρήση σχετικών αναφορών για να αλλάξετε τη λειτουργία εγγραφής σε σχετική.
Όταν κάνετε κλικ σε αυτό το κουμπί, αλλάζει σε διαφορετικό χρώμα από την υπόλοιπη κορδέλα.
Πληκτρολογήστε Jan στο κελί B1.
Μεταβείτε στο κελί C1 και πληκτρολογήστε Feb.
Μεταβείτε στο κελί D1 και πληκτρολογήστε Mar.
Επιλέξτε το κελί B1.
Σταματήστε τη συσκευή εγγραφής μακροεντολών.
Σημειώστε ότι αυτή η διαδικασία διαφέρει ελαφρώς από το προηγούμενο παράδειγμα. Σε αυτό το παράδειγμα, ενεργοποιείτε το αρχικό κελί πριν ξεκινήσετε την εγγραφή. Αυτό είναι ένα σημαντικό βήμα κατά την εγγραφή μακροεντολών που χρησιμοποιούν το ενεργό κελί ως βάση.
Αυτή η μακροεντολή αρχίζει πάντα να εισάγει κείμενο στο ενεργό κελί. Δοκίμασέ το. Μετακινήστε τον δείκτη κελιού σε οποιοδήποτε κελί και, στη συνέχεια, εκτελέστε τη Σχετική μακροεντολή. Τα ονόματα των μηνών εισάγονται πάντα ξεκινώντας από το ενεργό κελί.
Όταν η λειτουργία εγγραφής έχει οριστεί σε σχετική, ο κώδικας που δημιουργεί το Excel είναι αρκετά διαφορετικός από τον κώδικα που δημιουργείται σε απόλυτη λειτουργία:
Υποσυγγενής()
'
«Σχετική Μακροεντολή
'
ActiveCell.FormulaR1C1 = "Ιανουάριος"
ActiveCell.Offset(0, 1).Range(“A1”).Επιλέξτε
ActiveCell.FormulaR1C1 = "Φεβρουάριος"
ActiveCell.Offset(0, 1).Range(“A1”).Επιλέξτε
ActiveCell.FormulaR1C1 = "Mar"
ActiveCell.Offset(0, -2).Range(“A1”).Επιλέξτε
End Sub
Για να ελέγξετε αυτήν τη μακροεντολή, ενεργοποιήστε οποιοδήποτε κελί εκτός από το B1. Τα ονόματα των μηνών εισάγονται σε τρία κελιά, ξεκινώντας από το κελί που ενεργοποιήσατε.
Σημειώστε ότι ο κωδικός που δημιουργείται από τη συσκευή εγγραφής μακροεντολών αναφέρεται στο κελί A1. Αυτό μπορεί να φαίνεται περίεργο επειδή δεν χρησιμοποιήσατε ποτέ το κελί A1 κατά την εγγραφή της μακροεντολής. Αυτό είναι απλώς ένα υποπροϊόν του τρόπου με τον οποίο λειτουργεί η συσκευή εγγραφής μακροεντολών.