ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Διευκρίνιση στο άθροισμα με βάση το χρωματισμό

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 30-04-23, 11:29
Όνομα: Κωστας
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 23-04-2015
Μηνύματα: 19
Προεπιλογή Διευκρίνιση στο άθροισμα με βάση το χρωματισμό

καλημέρα!! Χριστός Ανέστη!
Θα ήθελα μία διευκρίνηση σχετικά με το θέμα που έχει αναπτυχθεί sto forum.
Συγκεκριμένα το άθροισμα του περιεχομένου των κελιών ανάλογα με το χρώμα φόντου ή γραμματοσειράς. Ενώ δουλεύουν οι κώδικες μια χαρούλα, εάν το χρώμα προκύπτει με μορφοποίηση υπό όρους, ο κώδικας δεν αντιλαμβάνεται την αλλαγη, με αποτέλεσμα να μην γίνονται οι υπολογισμοί σωστά.
Σας ευχαριστώ!
Απάντηση με παράθεση
  #2  
Παλιά 30-04-23, 16:11
Το avatar του χρήστη ChrisGT7
Super Moderator
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 835
Προεπιλογή

Καλησπέρα Κώστα,

Για να ελέγξεις το χρώμα σε ένα κελί, ελέγχεις την τιμή Range.Interior.Color.

Για να ελέγξεις το χρώμα μορφοποίησης υπό όρων σε ένα κελί από την έκδοση 2010 και μετά, ελέγχεις την τιμή Range.DisplayFormat.Interior.Color.

Επειδή όμως έχεις έκδοση 2003 και 2007, δε νομίζω πως θα λειτουργούσε η DisplayFormat. Θα σου πρότεινα να έλεγχες την τιμή σύμφωνα με τη συνθήκη υπό όρων που έχει το συγκεκριμένο εύρος.
__________________
Your Curiosity Will Be The Death of You!
Απάντηση με παράθεση
  #3  
Παλιά 30-04-23, 18:02
Όνομα: Κωστας
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 23-04-2015
Μηνύματα: 19
Προεπιλογή

https://www.ms-office.gr/forum/excel...-xromatos.html
Στον παραπάνω σύνδεσμο υπάρχει η colorsum η οποία αθροίζει με βάση το χρώμα γραμματοσειράς, που όμως ο χρήστης ορίζει απευθείας. εάν το χρώμα δίνεται υπό συνθήκη πώς μπορεί να αναγνωριστεί από UDF?
Απάντηση με παράθεση
  #4  
Παλιά 01-05-23, 20:04
Το avatar του χρήστη ChrisGT7
Super Moderator
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 835
Προεπιλογή

Καλησπέρα και καλό μήνα Κώστα,

Αν μπορείς, ανέβασε ένα δείγμα του αρχείου για πιο εύκολη επεξεργασία.
__________________
Your Curiosity Will Be The Death of You!
Απάντηση με παράθεση
  #5  
Παλιά 02-05-23, 11:12
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλημέρα στην παρέα.

Προσπάθησα να δημιουργήσω μία συνάρτηση, παρόμοια με την colorsum, την SumColorCondition.

Η συνάρτηση παίρνει 2 ορίσματα:

Το 1ο είναι η περιοχή στην οποία ορίστηκε η μορφοποίηση υπό όρους.

Το 2ο είναι ένα κελί, μέσα στην παραπάνω περιοχή με χρώμα (συνθήκη=true) ή χωρίς χρώμα (συνθήκη=False).

Περίμενα να λειτουργήσει, αλλά τελικά κόλλησα.

Περισσότερα στο 2ο φύλλο του συνημμένου.

Χρήστο (και όποιο άλλο μέλος) βοήθεια…
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm colorSum.xlsm (57,1 KB, 19 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 02-05-23, 15:44
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα στην παρέα!

Γιώργο μου απ´ ότι φαίνεται η ιδιότητα του Range "DisplayFormat" όταν καλείται μέσα από UDF εμφανίζει μόνο μία ιδιότητα, την AddIndent.
Αυτό συμβαίνει/συνέβαινε και σε άλλες ιδιότητες του Range, όταν καλούνται από UDF.

Μια λύση με συναρτήσεις ExcelForMacro (που σε περιβάλλον Excel 2003 είναι γρηγορότερη από την λύση με VBA) μπορεί να επιτευχθεί με τη χρήση της GET.CELL.

Ωστόσο, το ιδανικό κατά τη γνώμη μου είναι μια λύση με μία στήλη που θα περιέχει τον τύπο που χρησιμοποιείται στην εν λόγω μορφοποίηση υπό όρους.
Έτσι, ο τύπος αυτός σε κάθε υπολογιστικό κύκλο θα υπολογίζεται μόνο μια φορά και το αποτέλεσμα του θα χρησιμοποιείται:
  1. Για τη μορφοποίηση υπό όρους
  2. Ως όρισμα μέσα σε τύπους όπως SUMIF, SUMPRODUKT κλπ.

Αν χρειαστούν πληροφορίες / παραδείγματα σχετικά με την GET.CELL θα είμαι στη διάθεση σας.

Καλή συνέχεια!

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #7  
Παλιά 02-05-23, 17:50
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Φίλε Τάσο ευχαριστώ πολύ.

Δεν περίμενα να περιορίζονται οι ιδιότητες του αντικειμένου «Range», όταν καλείται μέσα από UDF.

Συμφωνώ με τη λύση που προτείνεις (χρήση της συνθήκης μορφοποίησης).

Στη συνάρτηση UDF κατέφυγα, επειδή δεν ήταν γνωστή η συνθήκη και για πειραματισμό.

Κάτι έμαθα….

Να είσαι καλά.
Απάντηση με παράθεση
  #8  
Παλιά 02-05-23, 21:26
Όνομα: Κωστας
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 23-04-2015
Μηνύματα: 19
Προεπιλογή

Καλησπέρα!
Τελικά μπορουμε να'χουμε μια ολοκληρωμενη προταση που να λειτουργει συμφωνα και με τις υποδείξεις του Τασου??
Ευχαριστω.
Απάντηση με παράθεση
  #9  
Παλιά 03-05-23, 20:30
Το avatar του χρήστη ChrisGT7
Super Moderator
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 835
Προεπιλογή

Καλησπέρα Κώστα,

Δοκίμασε το συνημμένο αρχείο αν σε βοηθάει κάπως. Βλέπω πως χρησιμοποιείς και την έκδοση 2016 πλέον, οπότε ελπίζω να μην έχεις κάποιο πρόβλημα με τον κώδικα.

Χρησιμοποιώ κάπως την ιδέα του Γιώργο και την πολύτιμη βοήθεια του Τάσου μέσω του γεγονότος Worksheet_Change. Όταν πληκτρολογείς στο εύρος Β1:Β33 έναν αριθμό μεγαλύτερο του 10, προστίθεται στο Β35 και αφαιρείται από το γενικό σύνολο του εύρους (Β34).
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm ΑΘΡΟΙΣΜΑ ΧΩΡΙΣ ΧΡΩΜΑ.xlsm (15,2 KB, 16 εμφανίσεις)
__________________
Your Curiosity Will Be The Death of You!
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Άθροισμα Βάση χρώματος άλλου κελιού minas84 Excel - Ερωτήσεις / Απαντήσεις 7 02-11-21 05:43
[Συναρτήσεις] άθροισμα βάση αριθμού εβδομάδας pierta Excel - Ερωτήσεις / Απαντήσεις 2 13-04-20 18:50
[ Πίνακες ] Αντιγραφή πινάκων από τρέχουσα βάση σε νέα βάση apostolos Access - Ερωτήσεις / Απαντήσεις 11 04-03-16 21:43
Μεταφορές πινάκων από βάση σε βάση parara Access - Ερωτήσεις / Απαντήσεις 8 18-04-14 13:14
Πρόβλημα σε άθροισμα wint3r Access - Ερωτήσεις / Απαντήσεις 6 23-08-13 09:33


Η ώρα είναι 14:26.