Καλημέρα
Θα προσπεράσω, την έκφραση...
«Σπύρο, είναι καλά όλα αυτά που επισημαίνεις…
Θα ήταν, κατά τη γνώμη μου, πιο εποικοδομητικό και χρήσιμο αν, για τη συγκεκριμένη περίπτωση, παρουσίαζες τη δική σου ολοκληρωμένη και «σωστή» πρόταση.»
που κατά την γνώμη μου είναι λίγο ...κάπως και θα εξηγήσω όσο πιο αναλυτικά μπορώ
τι θα έκανα εγώ σε μια τέτοια περίπτωση και γιατί...
Κατ' αρχάς έχουμε ένα έργο, το οποίο σε ένα φύλλο (Δεδομένα) έχει καταχωρήσεις
και σε ένα άλλο φύλλο (Στατιστικά) στατιστικά,
που ουσιαστικά, είναι μια καταμέτρηση των καταχωρήσεων-ονομάτων.
Για τα στατιστικά, έχει επιλεγεί η χρήση ενός Pivot, που στην συγκεκριμένη περίπτωση
δεν είναι απαραίτητο, αν κι εφόσον η μορφή του είναι σταθερή
δηλαδή δεν μεταβάλλεται, που αυτός είναι και ο λόγος ύπαρξης ενός Pivot.
Για μια τέτοια περίπτωση, θα μπορούσε να χρησιμοποιήσει κανείς την λύση στο
φύλλο «Στατιστικά1».
Εκεί, έχουμε έναν πίνακα ως βάση δεδομένων των μελών και
εκεί καταχωρούμε τυχόν νέα μέλη.
Όλες οι μεταβολές στο «Δεδομένα» καταμετρώνται από μια απλή =CountIf()
Τα πλεονεκτήματα σε αυτή τη λύση είναι:
1. Η μορφοποίηση υπό όρους είναι απλή και δεν θα έχουμε ποτέ σφάλματα.
2. Η ανανέωση των δεδομένων, είναι άμεση, ενώ για τον pivot, χρειάζονται κάποια
πράγματα επιπλέον, τα οποία περιγράφω στο φύλλο «Στατιστικά2»
Έστω λοιπόν, ότι η λύση αυτή δεν μας κάνει, γιατί όντως θέλουμε pivot,
ώστε να μπορούμε να έχουμε μεταβολές στα πεδία κλπ. *Η ευκολία και δυνατότητες των πινάκων αυτών, έχουν εξηγηθεί πολλές φορές στο παρελθόν
Πάμε λοιπόν στο φύλλο «Στατιστικά2»
Εδώ θα δούμε, πως πρέπει να γίνει μια σωστή μορφοποίηση υπό όρους,
αλλά και πως θα ανανεώσουμε τα δεδομένα του πίνακα,
αυτόματα ή manual ή στο άνοιγμα του βιβλίου. Σημαντικό εδώ, είναι να γνωρίζουμε το εξής:
Ένας pivot, δεν αναγνωρίζει τις ετικέτες γραμμών, σαν δικό του κομμάτι...
Οι όποιες μορφοποιήσεις, γίνονται σωστά, μόνο στα πεδία με την data.
Το σφάλμα, επισημαίνεται στο φύλλο «Στατιστικά3»
Άρα πρέπει να βρούμε έναν τρόπο, ώστε να μπορέσουμε να μορφοποιήσουμε και τις ετικέτες.
Πάμε τώρα στο φύλλο «Στατιστικά3»
Εδώ, εκτός από το πιο πάνω σφάλμα που είπαμε, μπορούμε να δούμε,
την μορφοποίηση του πεδίου ετικέτες, το οποίο θα γίνει με κώδικα.
Για κάποιο λόγο, που μόνο η Microsoft γνωρίζει, οι μορφοποιήσεις στις ετικέτες
μεταβάλλουν την περιοχή χωρίς λόγο, αν αλλάξουμε την δομή του πίνακα.
Η συνάρτηση που χρησιμοποιώ δεν είναι η μόνη που κάνει την δουλειά.
Θεωρώ όμως, ότι είναι μια απλή συνάρτηση, για όλους...
Πάμε τώρα στον κώδικα...
Ο κώδικας αυτός,
προβλέπει να καθαρίσει στην αρχή την παλιά μορφοποίηση, πριν βάλει νέα...
Σε σχέση όμως με τον κώδικα του Γιώργου, δεν διαγράφει μορφοποιήσεις σε
άλλα σημεία του φύλλου, είτε είναι κάποιος άλλος pivot ή περιοχή.
Η γραμμή Cells.FormatConditions.Delete
που χρησιμοποιείς Γιώργο, δεν είναι σωστή...
Πρέπει να οριστεί για ποιά συγκεκριμένα Cells μιλάμε...
Ακόμα όμως κι αν διορθώσουμε αυτό το σφάλμα, ο κώδικας του Γιώργου, δεν μας επιτρέπει να δημιουργήσουμε κι άλλο pivot στο φύλλο, γιατί «χτυπάει»...
Ο χρήστης, θα ήθελε να έχει, περισσότερους από ένα πίνακες στο φύλλο.
Όσο για τα χρώματα σε γραμματοσειρά και φόντο, αλλάξτε τα σε ότι θέλετε
με μια απλή καταγραφή και προσαρμογή στα σημεία
With rng.FormatConditions(1).Font και
With rng.FormatConditions(1).Interior
Ελπίζω να ήταν διαφωτιστικά όλα αυτά και αν κάπου
υπάρχει εκ παραδρομής σφάλμα, πείτε μου να το διορθώσουμε...
|