Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

Μερικές φορές χρειάζεται πολύς χρόνος για να καταλήξουμε σε κάποια πράγματα. Όταν όμως έχουν ΗΔΗ εφευρεθεί, εκ των υστέρων φαίνονται προφανείς και μάλιστα μπανάλ. Από τη σειρά "τι, ήταν δυνατό;".

Από τις πρώτες κιόλας εκδόσεις, η γραμμή κατάστασης στο κάτω μέρος του παραθύρου του Microsoft Excel εμφανίζει παραδοσιακά σύνολα για επιλεγμένα κελιά:

Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

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

Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

Και μόλις πρόσφατα, στις πιο πρόσφατες ενημερώσεις του Excel, οι προγραμματιστές της Microsoft πρόσθεσαν μια απλή αλλά έξυπνη λειτουργία – τώρα όταν κάνετε κλικ σε αυτά τα αποτελέσματα, αντιγράφονται στο πρόχειρο!

Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

Ομορφιά. 

Τι γίνεται όμως με όσους δεν έχουν ακόμη (ή ήδη;) μια τέτοια έκδοση του Excel; Εδώ μπορούν να βοηθήσουν οι απλές μακροεντολές.

Αντιγραφή του αθροίσματος των επιλεγμένων κελιών στο Πρόχειρο με χρήση μακροεντολής

Άνοιγμα στην καρτέλα προγραμματιστή (Προγραμματιστής) συντάκτης Visual Basic ή χρησιμοποιήστε αυτήν τη συντόμευση πληκτρολογίου άλλος+F11. Εισαγάγετε νέα κενή μονάδα μέσω του μενού Εισαγωγή – Ενότητα και αντιγράψτε τον παρακάτω κώδικα εκεί:

Sub SumSelected() If TypeName(Selection) <> "Range" Τότε βγείτε από το Sub με GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Endboard.Endboard WithInC)  

Η λογική του είναι απλή:

  • Πρώτα έρχεται η «προστασία από τον ανόητο» – ελέγχουμε τι ακριβώς επισημαίνεται. Εάν δεν έχουν επιλεγεί κελιά (αλλά, για παράδειγμα, ένα γράφημα), τότε βγείτε από τη μακροεντολή.
  • Στη συνέχεια, χρησιμοποιώντας την εντολή Getobject δημιουργούμε ένα νέο αντικείμενο δεδομένων όπου το άθροισμα των επιλεγμένων κελιών μας θα αποθηκευτεί αργότερα. Ένας μακρύς και ακατανόητος αλφαριθμητικός κώδικας είναι, στην πραγματικότητα, ένας σύνδεσμος προς τον κλάδο μητρώου των Windows όπου βρίσκεται η βιβλιοθήκη Βιβλιοθήκη αντικειμένων Microsoft Forms 2.0, που μπορεί να δημιουργήσει τέτοια αντικείμενα. Μερικές φορές αυτό το κόλπο ονομάζεται επίσης σιωπηρό όψιμο δέσιμο. Εάν δεν το χρησιμοποιείτε, τότε θα πρέπει να δημιουργήσετε έναν σύνδεσμο προς αυτήν τη βιβλιοθήκη στο αρχείο μέσω του μενού Εργαλεία — Παραπομπές.
  • Το άθροισμα των επιλεγμένων κελιών θεωρείται εντολή Φύλλο εργασίαςFunction.Sum(Επιλογή), και στη συνέχεια το ποσό που προκύπτει τοποθετείται στο πρόχειρο με την εντολή PutInClipboard

Για ευκολία στη χρήση, μπορείτε φυσικά να αντιστοιχίσετε αυτήν τη μακροεντολή σε μια συντόμευση πληκτρολογίου χρησιμοποιώντας το κουμπί Μακροεντολές αυτί προγραμματιστή (Προγραμματιστής — Μακροεντολές).

Και αν θέλετε να δείτε τι ακριβώς αντιγράφηκε μετά την εκτέλεση της μακροεντολής, μπορείτε να ενεργοποιήσετε τον πίνακα Πρόχειρο χρησιμοποιώντας το μικρό βέλος στην κάτω δεξιά γωνία της αντίστοιχης ομάδας στο Ο κύριος (Σπίτι) καρτέλα:

Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

Όχι μόνο το ποσό

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

Αντιγράψτε το άθροισμα των επιλεγμένων κελιών στο Πρόχειρο

Για παράδειγμα, υπάρχει:

  • Άθροισμα – άθροισμα
  • Μέσος όρος – αριθμητικός μέσος όρος
  • Καταμέτρηση – αριθμός κελιών με αριθμούς
  • CountA – αριθμός γεμισμένων κελιών
  • CountBlank – αριθμός κενών κελιών
  • Ελάχιστη – ελάχιστη τιμή
  • Max – μέγιστη τιμή
  • Διάμεσος – διάμεσος (κεντρική τιμή)
  • … και τα λοιπά.

Συμπεριλαμβανομένων φίλτρων και κρυφών σειρών-στήλων

Τι γίνεται αν οι σειρές ή οι στήλες είναι κρυφές (με μη αυτόματο τρόπο ή μέσω φίλτρου) στην επιλεγμένη περιοχή; Για να μην τα λάβουμε υπόψη στα σύνολα, θα χρειαστεί να τροποποιήσουμε ελαφρώς τον κωδικό μας προσθέτοντας στο αντικείμενο Επιλογή περιουσία SpecialCells (xlCellTypeVisible):

Sub SumVisible() If TypeName(Selection) <> "Range" Στη συνέχεια, πραγματοποιήστε έξοδο από το Sub με GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(SellellTextFunction.SpecialTellpeialSelection. PutInClipboard End With End Sub  

Σε αυτήν την περίπτωση, ο υπολογισμός οποιασδήποτε συνολικής συνάρτησης θα εφαρμοστεί μόνο σε ορατά κελιά.

Εάν χρειάζεστε μια ζωντανή φόρμουλα

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

Sub SumFormula() If TypeName(Selection) <> "Range" Τότε βγείτε από το Sub με GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace.(Selection.Replace. Διεύθυνση, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub  

Άθροιση με πρόσθετους όρους

Και, τέλος, για εντελώς μανιακούς, μπορείτε να γράψετε μια μακροεντολή που θα συνοψίζει όχι όλα τα επιλεγμένα κελιά, αλλά μόνο αυτά που ικανοποιούν τις δεδομένες συνθήκες. Έτσι, για παράδειγμα, μια μακροεντολή θα μοιάζει με αυτή που βάζει το άθροισμα των επιλεγμένων κελιών στο Buffer, εάν οι τιμές τους είναι μεγαλύτερες από 5 και ταυτόχρονα είναι γεμάτες με οποιοδήποτε χρώμα:

 Sub CustomCalc() Dim myRange As Range If TypeName(Selection) <> "Range" Έπειτα βγείτε από Sub For Every cell In Selection If cell.Value > 5 And cell.Interior.ColorIndex <> xlNone then If myRange Is Nothing Τότε ορίστε myRange = κελί Else Set myRange = Union(myRange, κελί) End If End If Next cell With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myPutInlip Subboard).  

Όπως μπορείτε εύκολα να φανταστείτε, οι συνθήκες μπορούν να ρυθμιστούν απολύτως οποιεσδήποτε – έως και μορφές κελιών – και σε οποιαδήποτε ποσότητα (συμπεριλαμβανομένης της σύνδεσής τους με λογικούς τελεστές ή ή και). Υπάρχει πολύς χώρος για φαντασία.

  • Μετατροπή τύπων σε τιμές (6 τρόποι)
  • Τι είναι οι μακροεντολές, πώς να τις χρησιμοποιήσετε, πού να εισαγάγετε τον κώδικα της Visual Basic
  • Χρήσιμες πληροφορίες στη γραμμή κατάστασης του Microsoft Excel

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