Λειτουργία που καθορίζεται από το χρήστη στο Excel VBA - Εύκολες μακροεντολές Excel

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

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

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

Κατάσταση:

Οι λειτουργίες που ορίζονται από τον χρήστη πρέπει να τοποθετηθούν σε μια ενότητα.

1. Ανοίξτε το Visual Basic Editor και κάντε κλικ στο Insert, Module.

2. Προσθέστε την ακόλουθη γραμμή κωδικού:

Λειτουργία SUMEVENNUMBERS (rng As Range)

Το όνομα της συνάρτησης μας είναι SUMEVENNUMBERS. Το τμήμα μεταξύ των παρενθέσεων σημαίνει ότι δίνουμε στο Excel VBA ένα εύρος ως είσοδο. Ονομάζουμε το εύρος μας rng, αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα.

3. Στη συνέχεια, δηλώνουμε ένα αντικείμενο Range και το ονομάζουμε κελί.

Dim cell As Range

4. Θέλουμε να ελέγξουμε κάθε κελί σε μια τυχαία επιλεγμένη περιοχή (αυτό το εύρος μπορεί να είναι οποιουδήποτε μεγέθους). Στο Excel VBA, μπορείτε να χρησιμοποιήσετε τον βρόχο Για κάθε επόμενο για αυτό. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Για κάθε κελί σε rng
Επόμενο κελί

Σημείωση: το κελί επιλέγεται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα.

5. Στη συνέχεια, ελέγχουμε για κάθε τιμή σε αυτό το εύρος αν είναι ζυγό ή όχι. Χρησιμοποιούμε τον τελεστή Mod για αυτό. Ο τελεστής Mod δίνει το υπόλοιπο μιας διαίρεσης. Για παράδειγμα, 7 mod 2 = 1 επειδή το 7 διαιρούμενο με 2 ισούται με 3 με το υπόλοιπο 1. Έχοντας πει αυτό, είναι εύκολο να ελέγξουμε αν ένας αριθμός είναι ζυγός ή όχι. Μόνο αν το υπόλοιπο ενός αριθμού διαιρούμενο με 2 είναι 0, ο αριθμός είναι άρτιος. Για παράδειγμα, 8 mod 2 = 0 επειδή το 8 διαιρούμενο με 2 ισούται με 4 με το υπόλοιπο 0. Προσθέστε την ακόλουθη πρόταση if στον βρόχο Για κάθε επόμενο.

Εάν κελί. Value Mod 2 = 0 Τότε
Τέλος εαν

6. Μόνο αν αυτή η δήλωση είναι αληθινή, προσθέτουμε την τιμή σε SUMEVENNUMBERS. Προσθέστε την ακόλουθη γραμμή κώδικα στη δήλωση If.

SUMEVENNUMBERS = SUMEVENNUMBERS + κελί. Τιμή

7. Μην ξεχάσετε να τερματίσετε τη λειτουργία (έξω από το βρόχο).

Λειτουργία Τέλους

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

Αποτέλεσμα:

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

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave