Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Μετράω πλήθος κελιών με το ίδιο background color

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 01-09-13, 20:34
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Μπάμπη δεν μπορώ να δω καλά τις εικόνες (γιατί έχουν μικρό μέγεθος) και να καταλάβω τι γράφει το μήνυμα αλλά δοκίμασα την συνάρτηση και δουλεύει κανονικά σε οποιοδήποτε φύλλο ενός βιβλίου και με οποιοδήποτε χρώμα αλλά και με τα περιεχόμενα.
Αν δεν έχω καταλάβει κάτι επαναδιατύπωσε το ερώτημα σου γιατί εμένα μου φαίνονται όλα καλά.
Η συνάρτηση υπάρχει στο User Defined και χρησιμοποιείται παντού.
Αλλά μπορείς να την βάλεις και σε ένα βιβλίο μονόφυλλο με μορφή .xlam
και να την αποθηκεύσεις ως Add-In στον φάκελο
C:\Users\.........\AppData\Roaming\Microsoft\AddIn s
αν είναι Αγγλική ή
C:\Users\............\AppData\Roaming\Microsoft\Π ρόσθετα
αν είναι Ελληνική η γλώσσα του Office
Απάντηση με παράθεση
  #2  
Παλιά 01-09-13, 21:03
Όνομα: ΜΠΑΜΠΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-03-2010
Μηνύματα: 9
Προεπιλογή

Εμένα με ενδιαφέρει να δουλεύει με χρώμα, τα περιεχόμενα δεν με απασχολούν.
Το μήνυμα σφάλματος που μου βγάζει όταν βάζω την formula =CountFontColor(D6,D6:H6,FALSE) είναι το εξής:
O τύπος που πληκτρολογήσατε περιέχει ένα σφάλμα.
- Για πληροφορίες σχετικά με τη διόρθωση συνηθισμένων σφαλμάτων σε τύπους, κάντε κλικ στο κουμπί "Βοήθεια".
- Για βοήθεια σχετικά με την εισαγωγή ενός τύπου, κάντε κλικ στο κουμπί "ΟΚ" και στη συνέχεια από το μενού "Εισαγωγή" επιλέξτε την εντολή "Συνάρτηση".
- Εάν δεν θέλετε να εισαγάγετε έναν τύπο, αποφύγετε τη χρήση των συμβόλων ίσον (=) και πλην (-) ή πληκτρολογήστε πριν από αυτά τα σύμβολα μία απόστροφο(').

Κάτι κάνω λάθος στην πληκτρολόγηση; Δεν μπορώ να καταλάβω τι φταίει αφού η συνάρτηση μου λες ότι κάνει αυτό που θέλω, το πρόβλημα είναι ότι δεν την χρησιμοποιώ σωστά μέσα στο κελί.

Μπορείς να μου ανεβάσεις ξανά το αρχείο excel, βάζοντας σωστά την formula;
Απάντηση με παράθεση
  #3  
Παλιά 01-09-13, 21:31
Όνομα: ΜΠΑΜΠΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 13-03-2010
Μηνύματα: 9
Προεπιλογή

Σπύρο, όντως έβαζα λάθος την formula. Όντως δουλεύει όπως λες. Κάτι ακόμα.
Αυτό που δεν κάνει αυτή η συνάρτηση είναι recalculate. Όντως υπολογίζει σωστά το πλήθος των κελιών που έχουν κάποιο background χρώμα. Αν ο χρήστης όμως αποφασίσει μέσα στην περιοχή κελιών που μετρά η συνάρτηση να πειράξει το χρώμα ενός κελιού και να το αλλάξει δεν κάνει επαναυπολογισμό έτσι ώστε να μετρήσει το νέο και σωστό πλήθος των κελιών που έχουν το ίδιο background χρώμα. Πως μπορώ να το πετύχω αυτό;
Απάντηση με παράθεση
  #4  
Παλιά 01-09-13, 21:45
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.037
Προεπιλογή

Καλησπέρα!
Μπάμπη, επειδή η συνάρτηση (που κατά τα άλλα λειτουργεί) έχει κάποια λαθάκια και επειδή σε ενδιαφέρει μόνο το πλήθος των κελιών,
θα σου πρότεινα την παρακάτω συνάρτηση:
Κώδικας:
Option Explicit

Function ColoredCellsCount(ColoredCell As Range, RangeToCount As Range)
    Dim c As Range, lColor As Long, tmpCount As Long
    lColor = ColoredCell.Interior.Color
    For Each c In RangeToCount
        If c.Interior.Color = lColor Then
            tmpCount = tmpCount + 1
        End If
    Next
    ColoredCellsCount = tmpCount
End Function
Ο τύπος που χρησιμοποιείται στο φύλλο είναι: =ColoredCellsCount(D6;D6:H6)+(NOW()*0)

Επειδή δεν προκαλείται υπολογισμός όταν χρωματίζεται ένα κελί από το χρήστη, η καλύτερη λύση
είναι να προστεθεί το +(NOW()*0) στον τύπο το οποίο προκαλεί τον υπολογισμό της
συνάρτησης κάθε φορά που υπολογίζεται το βιβλίο. Θα λειτουργήσει και όταν πατηθεί το πλήκτρο F9.

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 01-09-13 στις 21:56.
Απάντηση με παράθεση
  #5  
Παλιά 29-11-14, 17:39
Όνομα: ΒΕΝ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 29-10-2010
Μηνύματα: 16
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Spirosgr Εμφάνιση μηνυμάτων
Καλησπέρα
Μπάμπη δεν μπορώ να δω καλά τις εικόνες (γιατί έχουν μικρό μέγεθος) και να καταλάβω τι γράφει το μήνυμα αλλά δοκίμασα την συνάρτηση και δουλεύει κανονικά σε οποιοδήποτε φύλλο ενός βιβλίου και με οποιοδήποτε χρώμα αλλά και με τα περιεχόμενα.
Αν δεν έχω καταλάβει κάτι επαναδιατύπωσε το ερώτημα σου γιατί εμένα μου φαίνονται όλα καλά.
Η συνάρτηση υπάρχει στο User Defined και χρησιμοποιείται παντού.
Αλλά μπορείς να την βάλεις και σε ένα βιβλίο μονόφυλλο με μορφή .xlam
και να την αποθηκεύσεις ως Add-In στον φάκελο
C:\Users\.........\AppData\Roaming\Microsoft\AddIn s
αν είναι Αγγλική ή
C:\Users\............\AppData\Roaming\Microsoft\Π ρόσθετα
αν είναι Ελληνική η γλώσσα του Office
Σπύρο καλησπέρα,
Επειδή μ'ενδιαφέρει κι εμένα αυτή η συνάρτηση του Μπάμπη - να μετράω δηλ. πόσα έγχρωμα κελιά υπάρχουν - είπες οτι υπάρχει στο User Defined και χρησιμοποιείται. Που μπορεώ να την βρώ..??? Στην λίστα των συναρτήσεων - πατόντας το If - δεν την εμφανίζει... μπορεις να βοηθήσεις...??

Ευχαριστώ...
Απάντηση με παράθεση
  #6  
Παλιά 29-11-14, 18:35
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Οι συναρτήσεις που είτε αντιγράφουμε είτε φτιάχνουμε,
σε μια module του βιβλίου μας, με κώδικα και
έχουν μορφή πχ: Function FunctionName( κάτι ),
υπάρχουν στον διάλογο (*βλέπε εικόνα) στην κατηγορία User Defined.
Ο διάλογος ανογίει με κλικ στο ƒx αριστερά της γραμμής τύπων
Συνημένες Εικόνες
Τύπος Αρχείου: png Capture.PNG (25,7 KB, 21 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ερωτήματα ] Πλήθος ενός χαρακτήρα ggreg75 Access - Ερωτήσεις / Απαντήσεις 3 29-06-15 14:11
[VBA] ComboBox Πλήθος Εκτυπώσεων gfevran Excel - Ερωτήσεις / Απαντήσεις 2 09-11-14 22:13
[ Πίνακες ] ΠΛΗΘΟΣ ΕΓΓΡΑΦΩΝ gaz_manos Access - Ερωτήσεις / Απαντήσεις 7 12-06-14 19:57
[ Πίνακες ] Πλήθος Εγγραφών σε πίνακα. Free_Ghost Access - Ερωτήσεις / Απαντήσεις 2 08-02-10 10:21


Η ώρα είναι 07:05.