Αυτό το σεμινάριο θα σας διδάξει πώς να επιστρέψετε μια τιμή από μια δευτερεύουσα διαδικασία στο VBA.
Μια υπο -διαδικασία δεν έχει σχεδιαστεί για να επιστρέφει μια τιμή - για αυτό χρησιμοποιείται μια διαδικασία συνάρτησης. Ωστόσο, μπορεί να υπάρξει κάποια στιγμή που εκτελείτε κάποιο κώδικα σε μια δευτερεύουσα διαδικασία όπου πρέπει να λάβετε μια τιμή από αυτήν την υποδιαδικασία. Ο τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε ενότητα ή καθολικές μεταβλητές ή να χρησιμοποιήσετε μια υποδιαδικασία για να συμπληρώσετε ένα φύλλο Excel.
Χρησιμοποιώντας μεταβλητές για να επιστρέψετε μια τιμή
Μπορείτε να δηλώσετε μεταβλητές σε επίπεδο λειτουργικής μονάδας. Όταν το κάνετε αυτό, αυτές οι μεταβλητές μπορούν να χρησιμοποιηθούν οπουδήποτε μέσα στη μονάδα και οι μεταβλητές διατηρούν τις τιμές τους. Για να δηλώσετε μια μεταβλητή σε επίπεδο μονάδας, απλώς δηλώστε τη μεταβλητή στο επάνω μέρος της μονάδας κώδικα:
123456789 | Επιλογή ρητήDim dbl Ποσότητα ως διπλόSub TestA ()«καλέστε το υποσύνολο TestBΚαλέστε το TestB'εμφανίζει την τιμή της μεταβλητής στο παράθυρο της ενότηταςDebug.Print dblQtyΤέλος υπο |
1234 | Sub TestB ()"συμπληρώστε τη μεταβλητή μονάδαςdblQty = 900Τέλος υπο |
Για να τα συνδυάσουμε, θα τρέξουμε το TestA, το οποίο με τη σειρά του θα καλέσει το TestB και θα μας δώσει την τιμή 900 στο αμέσως παράθυρο.
Αυτό θα λειτουργούσε μόνο μέσα στη μονάδα, καθώς η μεταβλητή έχει δηλωθεί χρησιμοποιώντας τη δήλωση Dim σε επίπεδο ενότητας.
Παγκόσμια μεταβλητή
Μπορείτε να δηλώσετε τη μεταβλητή σε παγκόσμιο επίπεδο για να τη χρησιμοποιήσετε σε όλες τις ενότητες του έργου σας.
Χρήση υποδιαδικασίας για συμπλήρωση φύλλου Excel
Η παρακάτω Διαδικασία θα συμπληρώσει άμεσα το εύρος A1 έως C1 στο φύλλο Excel σας, επιστρέφοντας έτσι τιμές στα κελιά από την υποδιαδικασία.
12345 | Sub PopulateRange ()Εύρος ("A1") = "Προϊόν"Εύρος ("B1") = "Ποσότητα"Εύρος ("C1") = "Κόστος"Τέλος υπο |
Στη συνέχεια, μπορείτε να αναφέρετε αυτές τις τιμές σε άλλη διαδικασία αναφέροντας τις τιμές κελιού:
1234567 | Sub RetrieveRange ()Χαμηλό προϊόν ως συμβολοσειρά, Ποσοστό μακρύ, Κόστος διπλόΠροϊόν = Εύρος ("A1")Quant = Range ("B1")Κόστος = Εύρος ("C1")Τέλος υπο |