Δημόσιες μεταβλητές VBA | Τρόπος δήλωσης δημόσιων μεταβλητών στο VBA (Παραδείγματα)

Δημόσιες μεταβλητές στο VBA

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

Πώς να δηλώσετε δημόσιες μεταβλητές στο VBA;

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

Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA Public Variables Excel εδώ - Πρότυπο VBA Public Variables Excel

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

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

Στην υπο διαδικασία «Public_Variable» έχω δηλώσει αυτήν τη μεταβλητή. Τώρα δεν μπορώ να χρησιμοποιήσω καμία από τις άλλες ενότητες.

Τώρα στην υποδιαδικασία "Public_Variable1" δεν μπορούμε να χρησιμοποιήσουμε τη μεταβλητή "Var1" η οποία δηλώθηκε στην πρώτη υποεπεξεργασία "Public_Variable". Αυτός είναι ο περιορισμός της δήλωσης μεταβλητών μέσα στις υποδιαδικασίες.

# 1 - Μεταβλητές επιπέδου ενότητας

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

Πρώτον, θα δούμε να δηλώνουμε δημόσιες μεταβλητές στο VBA σε επίπεδο ενότητας.

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

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

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

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

Τώρα μπορούμε να χρησιμοποιήσουμε αυτές τις μεταβλητές σε όλες τις μακροεντολές που γράφουμε στο "Module1".

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

Στο Module2 δεν μπορώ να χρησιμοποιήσω αυτές τις μεταβλητές που έχουμε δηλώσει στο "Module1".

Λοιπόν, πώς μπορούμε να κάνουμε αυτές τις μεταβλητές δημόσιες στο VBA για χρήση σε όλες τις ενότητες και σε όλες τις δευτερεύουσες διαδικασίες;

# 2 - Δηλώστε τις μεταβλητές τις χρησιμοποιούν δημοσίως

Επιστρέψτε στο "Module1" σε αυτήν την ενότητα που έχουμε δηλώσει μεταβλητές πριν αρχίσουμε να γράφουμε τον τρόπο της μακροεντολής και επίσης τι κόσμο έχουμε χρησιμοποιήσει για να δηλώσουμε αυτές τις μεταβλητές.

Ο παραδοσιακός τρόπος χρήσης της λέξης "DIM" δηλώσαμε αυτές τις μεταβλητές.

Όταν χρησιμοποιούμε μόνο τη λέξη "DIM", περιορίζεται μόνο σε όλες τις μακροεντολές αλλά στην ίδια ενότητα.

Αντί για τη λέξη "DIM" πρέπει να χρησιμοποιήσουμε τη λέξη "PUBLIC" ή "GLOBAL" για να τις διαθέσουμε για χρήση σε όλες τις ενότητες μακροεντολών.

Έχω χρησιμοποιήσει τη λέξη «Παγκόσμια» για να δημοσιοποιήσω τη μεταβλητή δήλωση. Μπορείτε επίσης να χρησιμοποιήσετε τη λέξη «Δημόσιο» επίσης.

Έτσι, χρησιμοποιώντας τις λέξεις "Παγκόσμιο" και "Δημόσιο" μπορούμε να δηλώσουμε μεταβλητές που μπορούν να χρησιμοποιηθούν για όλες τις μακροεντολές σε όλες τις ενότητες.

Πράγματα που πρέπει να θυμάστε

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