VBA Option Explicit - Πώς να καταστήσετε υποχρεωτική τη μεταβλητή δήλωση;

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

Excel VBA Option Explicit

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

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

Τι είναι το VBA Option Explicit;

Ελπίζω να είχατε συναντήσει τη λέξη "Option Explicit" με την μπλε επένδυση στο επάνω μέρος της λειτουργικής σας μονάδας πριν ξεκινήσει οποιαδήποτε μακροεντολή σε αυτήν την ενότητα.

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

Το "Option Explicit" είναι ο μέντορας μας στη δήλωση της μεταβλητής. Με την προσθήκη αυτής της λέξης, καθιστά τη μεταβλητή δήλωση υποχρεωτική διαδικασία.

Για παράδειγμα, ανατρέξτε στον παρακάτω κώδικα για κατανόηση.

Κώδικας:

Υπο Παράδειγμα1 () i = 25 MsgBox i End Sub

Εάν εκτελέσω αυτόν τον κωδικό, θα λάβουμε την τιμή μιας μεταβλητής "I" στο πλαίσιο μηνυμάτων στο VBA.

Τώρα θα προσθέσω τη λέξη "Option Explicit" στην αρχή του κώδικα VBA.

Τώρα θα τρέξω τον κώδικα και θα δω τι θα συμβεί. Εάν ασκείστε μαζί μου, πατήστε το πλήκτρο F5 για να εκτελέσετε τον κωδικό.

Παρουσιάστηκε σφάλμα μεταγλώττισης και λέει, "Η μεταβλητή δεν έχει καθοριστεί". Δεν έχουμε δηλώσει τη μεταβλητή "i", αλλά αμέσως, έχουμε αντιστοιχίσει την τιμή ως 25.

Εφόσον έχουμε προσθέσει τη λέξη "Option Explicit", μας αναγκάζει να δηλώσουμε τη μεταβλητή υποχρεωτικά.

Στον παραπάνω κώδικα, το αλφάβητο "i" είναι αδήλωτο, οπότε έχουμε προσθέσει τη μεταβλητή λέξη ελεγκτή "Option Explicit" που μας εμποδίζει να χρησιμοποιήσουμε τις αδήλωτες μεταβλητές.

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

Πώς να καταστήσετε υποχρεωτική τη μεταβλητή δήλωση;

Εάν έχετε προσθέσει μη αυτόματα τη μεταβλητή μέντορα "Option Explicit" στη μονάδα σας όταν εισάγετε τη νέα λειτουργική μονάδα, δεν θα λάβετε από προεπιλογή αυτόν τον μεταβλητό μέντορα.

Αν νομίζετε ότι κάθε φορά που πρέπει να προσθέσετε τη λέξη "Option Explicit" για όλες τις νέες ενότητες χειροκίνητα, τότε κάνετε λάθος.

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

Βήμα 1: Μεταβείτε στο πρόγραμμα επεξεργασίας Visual Basic.

Βήμα 2: Μεταβείτε στα ΕΡΓΑΛΕΙΑ και κάντε κλικ στο Επιλογές.

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

Βήμα 4: Κάτω από αυτό το παράθυρο, μεταβείτε στον Επεξεργαστή και επιλέξτε την επιλογή "Απαίτηση μεταβλητής δήλωσης".

Βήμα 5: Κάντε κλικ στο OK για να κλείσετε το παράθυρο.

Από τώρα και στο εξής, κάθε φορά που προσθέτετε μια νέα ενότητα, εισάγει αυτόματα τη λέξη "Option Explicit" από προεπιλογή.

Το Option Explicit είναι το Saver σας

Το Option Explicit μας βοηθά με πολλούς τρόπους. Αμέσως από την υποχρεωτική δήλωση της μεταβλητής, θα μας βοηθήσει μέχρι την εκτέλεση. Κοιτάξτε τον παρακάτω κώδικα.

Κώδικας:

Υπο Παράδειγμα2 () Dim Current Current Value as Integer CurentValue = 500 MsgBox CurrentValue End Sub

Στον παραπάνω κώδικα, έχω δηλώσει τη μεταβλητή "CurrentValue" ως ακέραιο. Στην επόμενη γραμμή, του έχω αντιστοιχίσει την τιμή των 500. Εάν εκτελέσω αυτόν τον κωδικό, θα λάβω 500 ως αποτέλεσμα ενός πλαισίου μηνυμάτων. Αλλά δείτε τι συμβαίνει.

Λέει «Η μεταβλητή δεν ορίζεται» και επισημαίνει τη δεύτερη γραμμή.

Αν κοιτάξουμε προσεκτικά τη δεύτερη γραμμή, υπάρχει ένα μικρό ορθογραφικό λάθος. Το όνομα της μεταβλητής μου είναι "CurrentValue", αλλά στη δεύτερη γραμμή, έχω χάσει μια ορθογραφία, δηλαδή, "r". Λέει "CurrentValue" αντί για "CurrentValue". Εφόσον έχω κάνει υποχρεωτική τη μεταβλητή δήλωση προσθέτοντας τη λέξη "Option Explicit" στο excel VBA, έχει επισημάνει το λάθος τυπογραφίας που έχω κάνει.

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

Γεια σας στον νεοδιορισμένο μεταβλητό μέντορα !!!

ενδιαφέροντα άρθρα...