VBA COUNT

Αυτό το σεμινάριο θα σας δείξει πώς να χρησιμοποιήσετε τη συνάρτηση Excel COUNT στο VBA

Η συνάρτηση VBA COUNT χρησιμοποιείται για τον υπολογισμό του αριθμού των κελιών στο φύλλο εργασίας σας που έχουν τιμές σε αυτά. Η πρόσβαση γίνεται με τη μέθοδο WorksheetFunction στο VBA.

COUNT φύλλο εργασίαςFunction

Το αντικείμενο WorksheetFunction μπορεί να χρησιμοποιηθεί για να καλέσετε τις περισσότερες από τις λειτουργίες του Excel που είναι διαθέσιμες στο παράθυρο διαλόγου Εισαγωγή συνάρτησης στο Excel. Η συνάρτηση COUNT είναι μία από αυτές.

123 Sub TestCountFunctinoΕύρος ("D33") = Application.WorksheetFunction.Count (Εύρος ("D1: D32"))Τέλος υπο

Μπορείτε να έχετε έως 30 ορίσματα στη συνάρτηση COUNT. Κάθε ένα από τα ορίσματα πρέπει να αναφέρεται σε μια περιοχή κελιών.

Αυτό το παράδειγμα παρακάτω θα μετρήσει πόσα κελιά έχουν συμπληρωθεί με τιμές στα κελιά D1 έως D9

123 Sub TestCount ()Εύρος ("D10") = Application.WorksheetFunction.Count (Εύρος ("D1: D9"))Τέλος υπο

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

123 Sub TestCountMultiple ()Εύρος ("G8") = WorksheetFunction.Count (Range ("G2: G7"), Range ("H2: H7"))Τέλος υπο

Ανάθεση αποτελέσματος Count σε μια μεταβλητή

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

1234567 Sub AssignCount ()Αμυδρό αποτέλεσμα ως ακέραιος«Εκχωρήστε τη μεταβλητήαποτέλεσμα = WorksheetFunction.Count (Εύρος ("H2: H11"))«Δείξτε το αποτέλεσμαMsgBox "Ο αριθμός των κελιών που συμπληρώνονται με τιμές είναι" & αποτέλεσμαΤέλος υπο

COUNT με αντικείμενο εύρους

Μπορείτε να αντιστοιχίσετε μια ομάδα κελιών στο αντικείμενο εύρους και, στη συνέχεια, να χρησιμοποιήσετε αυτό το αντικείμενο εύρους με το Φύλλο εργασίας αντικείμενο.

123456789 Sub TestCountRange ()Dim rng As Range«εκχωρήστε το εύρος των κελιώνΡύθμιση rng = Εύρος ("G2: G7")"χρησιμοποιήστε το εύρος στον τύποΕύρος ("G8") = WorksheetFunction.Count (rng)«απελευθερώστε το αντικείμενο εύρουςΡύθμιση rng = ΤίποταΤέλος υπο

COUNT αντικείμενα πολλαπλής εμβέλειας

Ομοίως, μπορείτε να μετρήσετε πόσα κελιά έχουν συμπληρωθεί με τιμές σε πολλά αντικείμενα εύρους.

123456789101112 Sub TestCountMultipleRanges ()Dim rngA As RangeDim rngB ως Εύρος«εκχωρήστε το εύρος των κελιώνΡύθμιση rngA = Εύρος ("D2: D10")Ρύθμιση rngB = Εύρος ("E2: E10")"χρησιμοποιήστε το εύρος στον τύποΕύρος ("E11") = WorksheetFunction.Count (rngA, rngB)«απελευθερώστε το αντικείμενο εύρουςΡύθμιση rngA = ΤίποταΡύθμιση rngB = ΤίποταΤέλος υπο

Χρησιμοποιώντας το COUNTA

Η καταμέτρηση θα μετρήσει μόνο τις ΤΙΜΕΣ στα κελιά, δεν θα μετρήσει το κελί εάν το κελί έχει κείμενο σε αυτό. Για να μετρήσουμε τα κελιά που έχουν συμπληρωθεί με οποιοδήποτε είδος δεδομένων, θα πρέπει να χρησιμοποιήσουμε τη συνάρτηση COUNTA.

123 Sub TestCountA ()Range ("B8) = Application.WorksheetFunction.CountA (Range (" B1: B6 "))Τέλος υπο

Στο παρακάτω παράδειγμα, η συνάρτηση COUNT θα επέστρεφε ένα μηδέν καθώς δεν υπάρχουν τιμές στη στήλη Β, ενώ θα επέστρεφε ένα 4 για τη στήλη C. Η συνάρτηση COUNTA ωστόσο, θα μετρούσε τα κελιά με κείμενο σε αυτά και θα επέστρεφε μια τιμή 5 στη στήλη Β ενώ εξακολουθεί να επιστρέφει μια τιμή 4 στη στήλη Γ.

Χρήση COUNTBLANKS

Η συνάρτηση COUNTBLANKS θα μετρήσει μόνο τα κενά κελιά στο εύρος κελιών - δηλαδή κελιά που δεν έχουν καθόλου δεδομένα σε αυτά.

123 Sub TestCountBlank ()Εύρος ("B8) = Application.WorksheetFunction.CountBlanks (Εύρος (" B1: B6 "))Τέλος υπο

Στο παρακάτω παράδειγμα, η στήλη Β δεν έχει κενά κελιά ενώ η στήλη C έχει ένα κενό κελί.

Χρησιμοποιώντας τη συνάρτηση COUNTIF

Μια άλλη συνάρτηση φύλλου εργασίας που μπορεί να χρησιμοποιηθεί είναι η συνάρτηση COUNTIF.

123456 Sub TestCountIf ()Εύρος ("H14") = WorksheetFunction.CountIf (Εύρος ("H2: H10"), "> 0")Εύρος ("H15") = WorksheetFunction.CountIf (Εύρος ("H2: H10"), "> 100")Εύρος ("H16") = WorksheetFunction.CountIf (Εύρος ("H2: H10"), "> 1000")Εύρος ("H17") = WorksheetFunction.CountIf (Εύρος ("H2: H10"), "> 10000")Τέλος υπο

Η παραπάνω διαδικασία θα μετρήσει τα κελιά με τιμές σε αυτά αν τα κριτήρια αντιστοιχούν - μεγαλύτερο από 0, μεγαλύτερο από 100, μεγαλύτερο από 1000 και μεγαλύτερο από 10000. Πρέπει να βάλετε τα κριτήρια εντός εισαγωγικών για να λειτουργήσει σωστά ο τύπος.

Μειονεκτήματα της Λειτουργίας φύλλου εργασίας

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

Στο παραπάνω παράδειγμα, η διαδικασία TestCount έχει μετρήσει τα κελιά στη στήλη Η όπου υπάρχει μια τιμή. Όπως μπορείτε να δείτε στη γραμμή τύπων, αυτό το αποτέλεσμα είναι ένα σχήμα και όχι ένας τύπος.

Εάν κάποια από τις τιμές αλλάξει επομένως στο εύρος (H2: H12), τα αποτελέσματα στο H14 θα αλλάξουν ΔΕΝ αλλαγή.

Αντί να χρησιμοποιήσετε το WorksheetFunction.Count, μπορείτε να χρησιμοποιήσετε το VBA για να εφαρμόσετε μια συνάρτηση καταμέτρησης σε ένα κελί χρησιμοποιώντας το Τύπος ή ΤύποςR1C1 μεθόδους.

Χρήση της μεθόδου Formula

Η μέθοδος τύπου σας επιτρέπει να δείξετε συγκεκριμένα μια σειρά κελιών π.χ.: H2: H12 όπως φαίνεται παρακάτω.

123 Υπο TestCountFormulaΕύρος ("H14"). Τύπος = "= Count (H2: H12)"Τέλος υπο

Χρησιμοποιώντας τη μέθοδο FormulaR1C1

Η μέθοδος FromulaR1C1 είναι πιο ευέλικτη στο ότι δεν σας περιορίζει σε ένα σύνολο κυψελών. Το παρακάτω παράδειγμα θα μας δώσει την ίδια απάντηση με την παραπάνω.

123 Sub TestCountFormula ()Εύρος ("H14"). Τύπος = "= Μέτρηση (R [-9] C: R [-1] C)"Τέλος υπο

Ωστόσο, για να κάνουμε τον τύπο πιο ευέλικτο, θα μπορούσαμε να τροποποιήσουμε τον κώδικα έτσι ώστε:

123 Sub TestCountFormula ()ActiveCell.FormulaR1C1 = "= Αριθμός (R [-11] C: R [-1] C)"Τέλος υπο

Όπου και αν βρίσκεστε στο φύλλο εργασίας σας, ο τύπος θα μετρήσει τις τιμές στα 12 κελιά ακριβώς πάνω από αυτό και θα τοποθετήσει την απάντηση στο ActiveCell. Το εύρος μέσα στη συνάρτηση COUNT πρέπει να αναφέρεται στη σύνταξη της γραμμής (R) και της στήλης (C).

Και οι δύο αυτές μέθοδοι σάς επιτρέπουν να χρησιμοποιείτε τύπους Dynamic Excel εντός VBA.

Τώρα θα υπάρχει ένας τύπος στο H14 αντί για μια τιμή.

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

wave wave wave wave wave