/ / / VBA πτητικές λειτουργίες Excel

Πτητικές λειτουργίες Excel VBA

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

1. Ανοίξτε τον Επεξεργαστή Visual Basic και κάντε κλικ στην επιλογή Εισαγωγή, Ενότητα.

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

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

Function MYFUNCTION(cell As Range)

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

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

Μη πτητική λειτουργία στο Excel VBA

4. Αυτή είναι μια μη πτητική λειτουργία. Οι μη πτητικές λειτουργίες υπολογίζονται μόνο όταν μεταβληθεί οποιοδήποτε από τα επιχειρήματα της λειτουργίας. Αλλάξτε την τιμή του στοιχείου B2 στο 8.

Λειτουργία

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

Οποιεσδήποτε άλλες αλλαγές κυττάρων

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

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

Function MYFUNCTION(cell As Range)

Application.Volatile
MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

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

Αποτέλεσμα:

Πτητική λειτουργία στο Excel VBA

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

Επίσης διαβάστε: