Ένας τρόπος με τον οποίο μπορείτε να λάβετε κώδικα σε μια μονάδα VBA είναι να καταγράψετε τις ενέργειές σας, χρησιμοποιώντας τη συσκευή εγγραφής μακροεντολών Excel. Ένα πράγμα που πρέπει να θυμάστε είναι ότι μπορείτε να καταγράψετε μόνο πράγματα που μπορείτε να κάνετε απευθείας στο Excel. Η εμφάνιση ενός πλαισίου μηνύματος δεν είναι στο κανονικό ρεπερτόριο του Excel. (Είναι θέμα VBA.) Η συσκευή εγγραφής μακροεντολών είναι χρήσιμη, αλλά σε πολλές περιπτώσεις, πιθανότατα θα χρειαστεί να εισαγάγετε τουλάχιστον κάποιο κωδικό με μη αυτόματο τρόπο.
Ακολουθεί ένα βήμα προς βήμα παράδειγμα που σας δείχνει πώς να καταγράψετε μια μακροεντολή που εισάγει ένα νέο φύλλο εργασίας και αποκρύπτει όλες εκτός από τις πρώτες δέκα σειρές και όλες εκτός από τις πρώτες δέκα στήλες. Εάν θέλετε να δοκιμάσετε αυτό το παράδειγμα, ξεκινήστε με ένα νέο, κενό βιβλίο εργασίας και ακολουθήστε τα εξής βήματα:
Ενεργοποιήστε ένα φύλλο εργασίας στο βιβλίο εργασίας.
Οποιοδήποτε φύλλο εργασίας θα κάνει.
Κάντε κλικ στην καρτέλα Προγραμματιστής και βεβαιωθείτε ότι δεν είναι επισημασμένη η Χρήση σχετικών αναφορών .
Αυτή η μακροεντολή θα καταγραφεί χρησιμοποιώντας Απόλυτες Αναφορές.
Επιλέξτε Προγραμματιστής→ Κωδικός → Εγγραφή μακροεντολής ή κάντε κλικ στο εικονίδιο δίπλα στην ένδειξη Έτοιμος στο αριστερό άκρο της γραμμής κατάστασης.
Το Excel εμφανίζει το πλαίσιο διαλόγου Record Macro.
Στο παράθυρο διαλόγου Εγγραφή μακροεντολής, ονομάστε τη μακροεντολή TenByTen και πατήστε Shift+T για το πλήκτρο συντόμευσης.
Η μακροεντολή μπορεί να εκτελεστεί όταν πατήσετε Ctrl+Shift+T.
Κάντε κλικ στο OK για να ξεκινήσει η εγγραφή.
Το Excel εισάγει αυτόματα μια νέα μονάδα VBA στο έργο που αντιστοιχεί στο ενεργό βιβλίο εργασίας. Από αυτό το σημείο και μετά, το Excel μετατρέπει τις ενέργειές σας σε κώδικα VBA. Κατά την εγγραφή, το εικονίδιο στη γραμμή κατάστασης μετατρέπεται σε ένα μικρό τετράγωνο. Αυτή είναι μια υπενθύμιση ότι η συσκευή εγγραφής μακροεντολών εκτελείται. Μπορείτε επίσης να κάνετε κλικ σε αυτό το εικονίδιο για να διακόψετε τη λειτουργία εγγραφής μακροεντολών.
Κάντε κλικ στο εικονίδιο Νέο φύλλο στα δεξιά της τελευταίας καρτέλας φύλλου.
Το Excel εισάγει ένα νέο φύλλο εργασίας.
Επιλέξτε ολόκληρη τη στήλη K (την 11η στήλη) και πατήστε Ctrl+Shift+δεξί βέλος. στη συνέχεια κάντε δεξί κλικ σε οποιαδήποτε επιλεγμένη στήλη και επιλέξτε Απόκρυψη από το μενού συντόμευσης.
Το Excel αποκρύπτει όλες τις επιλεγμένες στήλες.
Επιλέξτε ολόκληρη τη σειρά 11 και πατήστε Ctrl+Shift+κάτω βέλος. στη συνέχεια κάντε δεξί κλικ σε οποιαδήποτε επιλεγμένη σειρά και επιλέξτε Απόκρυψη από το μενού συντόμευσης.
Το Excel αποκρύπτει όλες τις επιλεγμένες στήλες.
Επιλέξτε το κελί A1.
Επιλέξτε Προγραμματιστής → Κωδικός → Διακοπή εγγραφής ή κάντε κλικ στο κουμπί Διακοπή εγγραφής στη γραμμή κατάστασης (το μικρό τετράγωνο).
Το Excel σταματά να καταγράφει τις ενέργειές σας.
Για να προβάλετε αυτήν τη νέα ηχογραφημένη μακροεντολή, πατήστε Alt+F11 για να ενεργοποιήσετε το VBE. Εντοπίστε το όνομα του βιβλίου εργασίας στο παράθυρο Project. Βλέπετε ότι το έργο έχει μια νέα ενότητα στη λίστα. Το όνομα της λειτουργικής μονάδας εξαρτάται από το αν είχατε άλλες μονάδες στο βιβλίο εργασίας όταν ξεκινήσατε την εγγραφή της μακροεντολής. Εάν δεν το κάνατε, η ενότητα θα ονομάζεται Module1. Μπορείτε να κάνετε διπλό κλικ στη λειτουργική μονάδα για να προβάλετε το παράθυρο Κώδικας για τη λειτουργική μονάδα.
Ακολουθεί ο κώδικας που δημιουργήθηκε από τις ενέργειές σας:
Sub TenByTen()
'
Μακροεντολή TenByTen
'
Συντόμευση πληκτρολογίου: Ctrl+Shift+T
'
Sheets.Add After:=ActiveSheet
Στήλες("K:K"). Επιλέξτε
Εύρος (Επιλογή, Επιλογή. Τέλος (xlToRight)). Επιλέξτε
Selection.EntireColumn.Hidden = True
Γραμμές (“11:11”). Επιλέξτε
Εύρος (Επιλογή, Επιλογή. Τέλος(xlDown)).Επιλογή
Selection.EntireRow.Hidden = True
Εύρος (“A1”). Επιλέξτε
End Sub
Για να δοκιμάσετε αυτήν τη μακροεντολή, ενεργοποιήστε οποιοδήποτε φύλλο εργασίας και πατήστε το πλήκτρο συντόμευσης που εκχωρήσατε στο Βήμα 4: Ctrl+Shift+T.
Εάν δεν έχετε εκχωρήσει ένα κλειδί συντόμευσης στη μακροεντολή, μην ανησυχείτε. Δείτε πώς μπορείτε να εμφανίσετε μια λίστα με όλες τις διαθέσιμες μακροεντολές και να εκτελέσετε αυτήν που θέλετε:
Επιλέξτε Προγραμματιστής → Κωδικός → Μακροεντολές.
Οι οπαδοί του πληκτρολογίου μπορούν να πατήσουν Alt+F8. Οποιαδήποτε από αυτές τις μεθόδους εμφανίζει ένα παράθυρο διαλόγου που παραθέτει όλες τις διαθέσιμες μακροεντολές.
Επιλέξτε τη μακροεντολή στη λίστα (σε αυτήν την περίπτωση, TenByTen).
Κάντε κλικ στο κουμπί Εκτέλεση.
Το Excel εκτελεί τη μακροεντολή και λαμβάνετε ένα νέο φύλλο εργασίας με δέκα ορατές γραμμές και δέκα ορατές στήλες.
Μπορείτε να εκτελέσετε οποιονδήποτε αριθμό εντολών και να εκτελέσετε οποιονδήποτε αριθμό ενεργειών ενώ εκτελείται η συσκευή εγγραφής μακροεντολών. Το Excel μεταφράζει με υπευθυνότητα τις ενέργειες και τα πλήκτρα του ποντικιού σας σε κώδικα VBA.
Και, φυσικά, μπορείτε επίσης να επεξεργαστείτε τη μακροεντολή μετά την εγγραφή της. Για να δοκιμάσετε τις νέες σας δεξιότητες, δοκιμάστε να επεξεργαστείτε τη μακροεντολή έτσι ώστε να εισάγει ένα φύλλο εργασίας με εννέα ορατές σειρές και στήλες — ιδανικό για ένα παζλ Sudoku.