Πίνακας περιεχομένων:
Βίντεο: ΔΙΑΔΙΚΑΣΙΕΣ 1 (ΑΕΠΠ) 2025
Στον προγραμματισμό VBA, μια συνάρτηση επιστρέφει μια τιμή. Μπορείτε να εκτελέσετε τις διαδικασίες Λειτουργίας και να καλέσετε τη λειτουργία στο Excel 2016. Οι λειτουργίες, σε αντίθεση με τις υπο-διαδικασίες, μπορούν να εκτελεστούν μόνο με δύο τρόπους:
-
Με την κλήση της λειτουργίας από μια άλλη διαδικασία Sub ή από μια διαδικασία
-
φόρμουλα φύλλου εργασίας
Δοκιμάστε αυτήν την απλή λειτουργία. Καταχωρίστε το σε μια ενότητα VBA:
Λειτουργία CubeRoot (αριθμός) CubeRoot = αριθμός ^ (1/3) End Function
Αυτή η λειτουργία είναι αρκετά wimpy; απλώς υπολογίζει τη ρίζα κύβου του αριθμού που διαβιβάστηκε ως επιχείρησή της. Παρέχει, ωστόσο, ένα σημείο εκκίνησης για την κατανόηση λειτουργιών. Επίσης, απεικονίζει μια σημαντική έννοια σχετικά με τις λειτουργίες: πώς να επιστρέψετε την αξία. (Θυμάστε ότι μια συνάρτηση επιστρέφει μια τιμή, σωστά;)
Παρατηρήστε ότι η μοναδική γραμμή κώδικα που αποτελεί τη διαδικασία αυτής της Λειτουργίας εκτελεί έναν υπολογισμό. Το αποτέλεσμα του μαθηματικού (αριθμός στην ισχύ του 1/3) αντιστοιχεί στη μεταβλητή CubeRoot. Δεν είναι συμπτωματικό, το CubeRoot είναι επίσης το όνομα της λειτουργίας. Για να ειδοποιήσετε τη λειτουργία για ποια τιμή θα επιστρέψετε, αντιστοιχίζετε αυτήν την τιμή στο όνομα της συνάρτησης.
Καλέστε τη λειτουργία από μια διαδικασία Sub
Επειδή δεν μπορείτε να εκτελέσετε μια λειτουργία απευθείας, πρέπει να την καλέσετε από μια άλλη διαδικασία. Πληκτρολογήστε την ακόλουθη απλή διαδικασία στην ίδια ενότητα VBA που περιέχει τη λειτουργία CubeRoot:
Ακολουθεί τι συμβαίνει: Η συνάρτηση CubeRoot εκτελείται και λαμβάνει ένα όρισμα 125. Ο υπολογισμός εκτελείται από τον κώδικα της λειτουργίας (χρησιμοποιώντας την τιμή που μεταβιβάζεται ως όρισμα) και η επιστρεφόμενη τιμή της συνάρτησης αντιστοιχεί στο Ans μεταβλητή. Στη συνέχεια, η λειτουργία MsgBox εμφανίζει την τιμή της μεταβλητής Ans.Δοκιμάστε να αλλάξετε το επιχείρημα που πέρασε στη λειτουργία CubeRoot και να εκτελέσετε ξανά τη μακροεντολή CallerSub. Λειτουργεί ακριβώς όπως θα έπρεπε - υποθέτοντας ότι δίνετε στη συνάρτηση ένα έγκυρο επιχείρημα (έναν θετικό αριθμό).
Παρεμπιπτόντως, η διαδικασία CallerSub θα μπορούσε να απλουστευθεί λίγο. Η μεταβλητή Ans δεν απαιτείται πραγματικά εκτός αν ο κωδικός σας θα χρησιμοποιήσει αργότερα την μεταβλητή. Μπορείτε να χρησιμοποιήσετε αυτήν την απλή δήλωση για να αποκτήσετε το ίδιο αποτέλεσμα:
MsgBox CubeRoot (125)
Καλέστε μια συνάρτηση από έναν τύπο φύλλου εργασίας
Τώρα ήρθε η ώρα να καλέσετε αυτή τη διαδικασία λειτουργίας VBA από έναν τύπο φύλλου εργασίας.Ενεργοποιήστε ένα φύλλο εργασίας στο ίδιο βιβλίο εργασίας που περιέχει τον ορισμό της λειτουργίας CubeRoot. Στη συνέχεια πληκτρολογήστε τον ακόλουθο τύπο σε οποιοδήποτε κελί:
= CubeRoot (1728)
Το κελί εμφανίζει 12, πράγμα που είναι πραγματικά η ρίζα κύβου του 1, 728.
Όπως μπορείτε να περιμένετε, ως το επιχείρημα για τη λειτουργία CubeRoot. Για παράδειγμα, αν το στοιχείο A1 περιέχει μια τιμή, μπορείτε να πληκτρολογήσετε
= CubeRoot (A1)
. Σε αυτή την περίπτωση, η συνάρτηση επιστρέφει τον αριθμό που προκύπτει από τον υπολογισμό της ρίζας κύβου της τιμής στο A1. Μπορείτε να χρησιμοποιήσετε αυτή τη λειτουργία πολλές φορές στο φύλλο εργασίας. Όπως οι ενσωματωμένες λειτουργίες του Excel, οι προσαρμοσμένες λειτουργίες εμφανίζονται στο παράθυρο διαλόγου Εισαγωγή λειτουργιών. Κάντε κλικ στο κουμπί Εισαγωγή στη γραμμή εργαλείων και επιλέξτε την κατηγορία Ορισμός χρήστη. Το παράθυρο διαλόγου Εισαγωγή λειτουργιών εμφανίζει τη δική σας λειτουργία. Η λειτουργία CubeRoot εμφανίζεται στην κατηγορία User Defined (Ορισμός χρήστη) του πλαισίου διαλόγου Insert Function (Εισαγωγή λειτουργιών).
Εάν θέλετε το παράθυρο διαλόγου Λειτουργία εισαγωγής να εμφανίσει μια περιγραφή της λειτουργίας, ακολουθήστε τα εξής βήματα:
Επιλέξτε προγραμματιστής → κώδικας → μακροεντολές.Το Excel εμφανίζει το πλαίσιο διαλόγου Macro, αλλά το CubeRoot δεν εμφανίζεται στη λίστα. (Το CubeRoot είναι μια διαδικασία Λειτουργίας, και αυτή η λίστα εμφανίζει μόνο τις διαδικασίες Sub.) Μην φοβάστε.
-
Πληκτρολογήστε τη λέξη CubeRoot στο πλαίσιο Όνομα μακροεντολής.
Κάντε κλικ στο κουμπί Επιλογές.
-
Καταχωρίστε μια περιγραφή της λειτουργίας στο πλαίσιο Περιγραφή.
-
Κάντε κλικ στο κουμπί OK για να κλείσετε το παράθυρο διαλόγου Επιλογές μακροεντολών.
-
Κλείστε το πλαίσιο διαλόγου μακροεντολών κάνοντας κλικ στο κουμπί Ακύρωση.
-
Αυτό το περιγραφικό κείμενο εμφανίζεται τώρα στο παράθυρο διαλόγου Εισαγωγή λειτουργιών.
-
Ελέγξτε τη λειτουργία CubeRoot που χρησιμοποιείται σε τύπους φύλλου εργασίας.
Χρησιμοποιώντας τη λειτουργία CubeRoot σε τύπους.