Αθροιστικό κελί (αθροιστικό)

Περιεχόμενα

Πολύ συχνά, προκύπτει μια κατάσταση όταν πρέπει να συνοψίσουμε (συσσωρεύσουμε) πολλές τιμές που εισάγονται διαδοχικά σε ένα κελί:

Εκείνοι. εάν, για παράδειγμα, εισάγετε τον αριθμό 1 στο κελί A5, τότε ο αριθμός 1 θα πρέπει να εμφανίζεται στο B15. Εάν στη συνέχεια εισάγετε τον αριθμό 1 στο A7, τότε το 1 θα πρέπει να εμφανίζεται στο κελί B22 και ούτω καθεξής. Σε γενικές γραμμές, αυτό που οι λογιστές (και όχι μόνο αυτοί) ονομάζουν σωρευτικό σύνολο.

Μπορείτε να εφαρμόσετε έναν τέτοιο συσσωρευτή κυψέλης αποθήκευσης χρησιμοποιώντας μια απλή μακροεντολή. Κάντε δεξί κλικ στην καρτέλα του φύλλου όπου βρίσκονται τα κελιά A1 και B1 και επιλέξτε από το μενού περιβάλλοντος Κείμενο πηγής (Κωδικός πηγής). Στο παράθυρο του προγράμματος επεξεργασίας της Visual Basic που ανοίγει, αντιγράψτε και επικολλήστε τον απλό κώδικα μακροεντολής:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" then If IsNumeric(.Value) Τότε Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End With End Sub  

Οι διευθύνσεις των κελιών A1 και A2, φυσικά, μπορούν να αντικατασταθούν με τις δικές σας.

Εάν πρέπει να παρακολουθήσετε την εισαγωγή δεδομένων και να συνοψίσετε όχι μεμονωμένα κελιά, αλλά ολόκληρα εύρη, τότε η μακροεντολή θα πρέπει να αλλάξει ελαφρώς:

Ιδιωτικό δευτερεύον φύλλο εργασίας_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing then If IsNumeric(Target.Value) Τότε Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Υποτίθεται ότι τα δεδομένα εισάγονται στα κελιά της περιοχής A1:A10 και οι αριθμοί που εισάγονται αθροίζονται στη διπλανή στήλη στα δεξιά. Εάν στην περίπτωσή σας δεν είναι δίπλα, τότε αυξήστε τη μετατόπιση προς τα δεξιά στον τελεστή Offset – αντικαταστήστε το 1 με έναν μεγαλύτερο αριθμό.

  • Τι είναι οι μακροεντολές, πού να εισαγάγετε κώδικα μακροεντολής στο VBA, πώς να τις χρησιμοποιήσετε;

Αφήστε μια απάντηση