/ / / Rolling Average στο Excel VBA

Μέσος όρος ροής στο Excel VBA

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA που δημιουργεί ένα κυλιόμενο μέσο όρο. Τοποθετήστε ένα κουμπί εντολής στο φύλλο εργασίας σας και προσθέστε την ακόλουθη γραμμή κώδικα:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

Αυτή η γραμμή κώδικα εισάγει έναν τυχαίο αριθμό μεταξύ 0και 100 στο κύτταρο Β3. Θέλουμε το Excel VBA να πάρει τη νέα αξία αποθεμάτων και να το τοποθετήσει στην πρώτη θέση του κυλιόμενου μέσου πίνακα. Όλες οι άλλες τιμές πρέπει να μετακινηθούν προς τα κάτω σε ένα σημείο και η τελευταία τιμή να διαγραφεί.

Τροχός μέσου κυλίνδρου στο Excel VBA

Τροχός μέσου κυλίνδρου στο Excel VBA

Δημιουργία συμβάντος αλλαγής φύλλου εργασίας. Ο κώδικας που προστέθηκε στο συμβάν αλλαγής φύλλου εργασίας θα εκτελεστεί από το Excel VBA όταν αλλάζετε ένα κελί σε ένα φύλλο εργασίας.

1. Ανοίξτε τον Επεξεργαστή Visual Basic.

2. Κάντε διπλό κλικ στο Φύλλο1 (Φύλλο1) στον Έλεγχο Έργου.

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

Αλλαγή συμβάντος εργασίας στο Excel VBA

Προσθέστε τις ακόλουθες γραμμές κώδικα στο συμβάν αλλαγής φύλλου εργασίας:

4. Δηλώστε μια μεταβλητή που ονομάζεται newvalue του τύπου Integer και δύο σειρές (πρώτες τιμές και lastfourvalues).

Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range

5. Το συμβάν αλλαγής φύλλου εργασίας ακούει όλες τις αλλαγές στο Φύλλο1. Θέλουμε μόνο το Excel VBA να κάνει κάτι αν αλλάξει κάτι στο κελί B3. Για να επιτευχθεί αυτό, προσθέστε την ακόλουθη γραμμή κώδικα:

If Target.Address = "$B$3" Then

6. Αρχικοποιούμε τη νέα τιμή με την τιμή του κυττάρου Β3, πρώτες τιμές με εύρος ("D3: D6") και τελευταίες τιμές με εύρος ("D4: D7").

newvalue = Range("B3").Value
Set firstfourvalues = Range("D3:D6")
Set lastfourvalues = Range("D4:D7")

7. Τώρα έρχεται το απλό τέχνασμα. Θέλουμε να ενημερώσουμε τον πίνακα μέσου όρου. Μπορείτε να το επιτύχετε αντικαθιστώντας τις τέσσερις τελευταίες τιμές με τις τέσσερις πρώτες τιμές του πίνακα και τοποθετώντας τη νέα τιμή αποθέματος στην πρώτη θέση.

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

8. Μην ξεχάσετε να κλείσετε τη δήλωση if.

End if

9. Τέλος, εισάγετε τον τύπο = AVERAGE (D3: D7) στο κελί D8.

10. Δοκιμάστε το πρόγραμμα κάνοντας κλικ στο κουμπί εντολής.

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