| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα σε όλους, Θέλω να μετράω κελιά με το ίδιο background color. Σε ένα αρχείο excel θέλω μόνος μου να επισημαίνω με κάποιο background color μια περιοχή κελιών και να μπορεί η συνάρτηση που θα φτιάξω σε VBA να πόσα σε πλήθος κελιά έχουν το ίδιο background color. Ψάχνωντας στο google βρήκα αυτό εδώ τον κώδικα: Κώδικας: Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function |
|
#2
| |||
| |||
| Παράθεση:
Σας επισυνάπτω και το αρχείο excel που προσπαθώ αν το πετύχω. |
|
#3
|
|
Καλησπέρα Μπάμπη δεν μπορώ να δω καλά τις εικόνες (γιατί έχουν μικρό μέγεθος) και να καταλάβω τι γράφει το μήνυμα αλλά δοκίμασα την συνάρτηση και δουλεύει κανονικά σε οποιοδήποτε φύλλο ενός βιβλίου και με οποιοδήποτε χρώμα αλλά και με τα περιεχόμενα. Αν δεν έχω καταλάβει κάτι επαναδιατύπωσε το ερώτημα σου γιατί εμένα μου φαίνονται όλα καλά. Η συνάρτηση υπάρχει στο User Defined και χρησιμοποιείται παντού. Αλλά μπορείς να την βάλεις και σε ένα βιβλίο μονόφυλλο με μορφή .xlam και να την αποθηκεύσεις ως Add-In στον φάκελο C:\Users\.........\AppData\Roaming\Microsoft\AddIn s αν είναι Αγγλική ή C:\Users\............\AppData\Roaming\Microsoft\Π ρόσθετα αν είναι Ελληνική η γλώσσα του Office |
|
#4
| |||
| |||
|
Εμένα με ενδιαφέρει να δουλεύει με χρώμα, τα περιεχόμενα δεν με απασχολούν. Το μήνυμα σφάλματος που μου βγάζει όταν βάζω την formula =CountFontColor(D6,D6:H6,FALSE) είναι το εξής: O τύπος που πληκτρολογήσατε περιέχει ένα σφάλμα. - Για πληροφορίες σχετικά με τη διόρθωση συνηθισμένων σφαλμάτων σε τύπους, κάντε κλικ στο κουμπί "Βοήθεια". - Για βοήθεια σχετικά με την εισαγωγή ενός τύπου, κάντε κλικ στο κουμπί "ΟΚ" και στη συνέχεια από το μενού "Εισαγωγή" επιλέξτε την εντολή "Συνάρτηση". - Εάν δεν θέλετε να εισαγάγετε έναν τύπο, αποφύγετε τη χρήση των συμβόλων ίσον (=) και πλην (-) ή πληκτρολογήστε πριν από αυτά τα σύμβολα μία απόστροφο('). Κάτι κάνω λάθος στην πληκτρολόγηση; Δεν μπορώ να καταλάβω τι φταίει αφού η συνάρτηση μου λες ότι κάνει αυτό που θέλω, το πρόβλημα είναι ότι δεν την χρησιμοποιώ σωστά μέσα στο κελί. Μπορείς να μου ανεβάσεις ξανά το αρχείο excel, βάζοντας σωστά την formula; |
|
#5
| |||
| |||
|
Σπύρο, όντως έβαζα λάθος την formula. Όντως δουλεύει όπως λες. Κάτι ακόμα. Αυτό που δεν κάνει αυτή η συνάρτηση είναι recalculate. Όντως υπολογίζει σωστά το πλήθος των κελιών που έχουν κάποιο background χρώμα. Αν ο χρήστης όμως αποφασίσει μέσα στην περιοχή κελιών που μετρά η συνάρτηση να πειράξει το χρώμα ενός κελιού και να το αλλάξει δεν κάνει επαναυπολογισμό έτσι ώστε να μετρήσει το νέο και σωστό πλήθος των κελιών που έχουν το ίδιο background χρώμα. Πως μπορώ να το πετύχω αυτό; |
|
#6
| ||||
| ||||
|
Καλησπέρα! Μπάμπη, επειδή η συνάρτηση (που κατά τα άλλα λειτουργεί) έχει κάποια λαθάκια και επειδή σε ενδιαφέρει μόνο το πλήθος των κελιών, θα σου πρότεινα την παρακάτω συνάρτηση: Κώδικας: 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
Επειδή δεν προκαλείται υπολογισμός όταν χρωματίζεται ένα κελί από το χρήστη, η καλύτερη λύση είναι να προστεθεί το +(NOW()*0) στον τύπο το οποίο προκαλεί τον υπολογισμό της συνάρτησης κάθε φορά που υπολογίζεται το βιβλίο. Θα λειτουργήσει και όταν πατηθεί το πλήκτρο F9. Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 01-09-13 στις 21:56. |
|
#7
| |||
| |||
|
Υπάρχει η λύση F2 και Enter μέσα στο κελί που υπάρχει η formula αλλά δεν είναι καθόλου αποδοτικό αυτό.
|
|
#8
| |||
| |||
|
Ευχαριστώ Τάσο για την πολύτιμη βοήθειά σου.
|
|
#9
| ||||
| ||||
|
Καλημέρα! Να είσαι καλά Μπάμπη. Μια λύση στο ζητούμενο σου είναι η δημιουργία μιας φόρμας με "χρωματισμένα" κουμπιά που με το πάτημα τους θα χρωματίζονται τα επιλεγμένα κελιά και θα προκαλείται επίσης υπολογισμός του φύλλου ώστε η συνάρτηση να εμφανίσει ακριβή αποτελέσματα. Επισυνάπτω σχετικό παράδειγμα. Αφού ανοίξεις το αρχείο πάτησε CTRL+ Q για να εμφανιστεί η φόρμα με τα χρώματα. Η φόρμα μπορεί να παραμείνει ανοιχτή και παράλληλα να δουλεύεις πάνω στο βιβλίο εργασίας. Το πρώτο κουμπί της φόρμας αφαιρεί το χρώμα από τα επιλεγμένα κελιά. Για να αλλάξεις τα χρώματα των κουμπιών: Πάτησε το κουμπί με το εικονίδιο (κουμπί εναλλαγής - το τελευταίο στη δεύτερης σειρά). Επίλεξε ένα κελί που θα έχει το επιθυμητό χρώμα. Πάτησε το κουμπί για να αλλάξεις το χρώμα του. Αφού τελειώσεις τη διαδικασία αυτή πάτησε πάλι το κουμπί εναλλαγής και αποθήκευσε το αρχείο. Τα χρώματα αποθηκεύονται σε κελιά στο κρυφό φύλλο "Saved_Colors" και εφαρμόζονται στα κουμπιά κατά τη φόρτωση της φόρμας. Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 02-09-13 στις 09:56. |
|
#10
| |||
| |||
| Παράθεση:
Επειδή μ'ενδιαφέρει κι εμένα αυτή η συνάρτηση του Μπάμπη - να μετράω δηλ. πόσα έγχρωμα κελιά υπάρχουν - είπες οτι υπάρχει στο User Defined και χρησιμοποιείται. Που μπορεώ να την βρώ..??? Στην λίστα των συναρτήσεων - πατόντας το If - δεν την εμφανίζει... μπορεις να βοηθήσεις...?? Ευχαριστώ... |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | 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 |
Η ώρα είναι 11:46.



Αλλαγή σε γραμμικό τρόπο

