Πτητικές λειτουργίες Excel VBA - Εύκολες μακροεντολές Excel

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

Από προεπιλογή, το UDF's (User Defined Functions) στο Excel VBA δεν είναι πτητικά. Επανυπολογίζονται μόνο όταν αλλάξει οποιοδήποτε από τα ορίσματα της συνάρτησης. ΕΝΑ πτητική λειτουργία θα υπολογίζεται εκ νέου κάθε φορά που πραγματοποιείται υπολογισμός σε οποιαδήποτε κελιά του φύλλου εργασίας. Ας ρίξουμε μια ματιά σε ένα εύκολο παράδειγμα για να το εξηγήσουμε λίγο περισσότερο.

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

Δημιουργήστε μια συνάρτηση που ονομάζεται MYFUNCTION και επιστρέφει το άθροισμα του επιλεγμένου κελιού και του κελιού κάτω από αυτό το κελί.

2. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Λειτουργία MYFUNCTION (κυψέλη ως εύρος)
MYFUNCTION = cell.Value + cell.Offset (1, 0). Value
Λειτουργία Τέλους

3. Τώρα μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση, όπως κάθε άλλη συνάρτηση Excel.

4. Αυτή είναι μια μη πτητική συνάρτηση. Οι μη πτητικές συναρτήσεις επανυπολογίζονται μόνο όταν αλλάζει κάποιο από τα ορίσματα της συνάρτησης. Αλλάξτε την τιμή του κελιού Β2 σε 8.

5. Τώρα αλλάξτε την τιμή του κελιού B3 σε 11.

Επεξήγηση: η μη πτητική συνάρτηση δεν υπολογίζεται εκ νέου όταν αλλάζει οποιοδήποτε άλλο κελί στο φύλλο.

6. Ενημερώστε τη συνάρτηση ως εξής για να καταστήσετε τη συνάρτηση πτητική:

Λειτουργία MYFUNCTION (κυψέλη ως εύρος)
Εφαρμογή. Πτητικό
MYFUNCTION = cell.Value + cell.Offset (1, 0). Value
Λειτουργία Τέλους

7. Αλλάξτε την τιμή του κελιού B3 σε 12.

Αποτέλεσμα:

Σημείωση: πρέπει να εισαγάγετε ξανά τη συνάρτηση για να την κάνετε πτητική (ή να την ανανεώσετε τοποθετώντας τον κέρσορα στη γραμμή τύπων και πατώντας enter).

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

wave wave wave wave wave