Χρωματική επισήμανση ενεργού κελιού, στήλης και γραμμής

Στην πρώτη εικόνα βλέπετε ένα φύλλο όπου, καθώς ο χρήστης επιλέγει ένα κελί στο εσωτερικό του πίνακα A3: R30 , η γραμμή και η στήλη του κελίου, στο εσωτερικό του πίνακα, επισημαίνονται με έντονο κίτρινο χρώμα.
Χρωματισμός της γραμμής και της στήλης του ενεργού κελιού , στην περιοχή A3: R30

Χρωματισμός της γραμμής και της στήλης του ενεργού κελιού , στην περιοχή A3: R30

Αυτό μπορεί να γίνει για μία περιοχή του φύλλου ή για ολόκληρο το φύλλο. Μπορεί να επισημαίνεται μόνο η γραμμή ή μόνο η στήλη ή και οι δύο, μόνο το ενεργό κελί (εικόνα 2) ή γραμμές και στήλες δεξιά ή αριστερά, πάνω ή κάτω του επιλεγμένου κελιού (εικόνα 3).
Στον πίνακα B3:F17, χρωματίζεται το κάθε φορά επιλεγμένο (ενεργό) κελί

Στον πίνακα B3:F17, χρωματίζεται το κάθε φορά επιλεγμένο (ενεργό) κελί

 

Σε όλο το φύλλο, επισημαίνεται η γραμμή πάνω και η στήλη αριστερά του ενεργού κελιού

Σε όλο το φύλλο, επισημαίνεται η γραμμή πάνω και η στήλη αριστερά του ενεργού κελιού

Αν σας είναι χρήσιμη αυτή η τεχνική για κάποιο φύλλο ή για κάποιο πίνακα, είναι εύκολο να την έχετε. Θα χρειαστείτε μία ή δύο μορφοποιήσεις υπό όρους, και τρεις σειρές VBA κώδικα.
Ο κώδικας θα γραφτεί στο ThisWorkbook του βιβλίου σας και όχι σε ένα module και είναι ο εξής:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
Οι μορφοποιήσεις υπό όρους είναι όλες μορφοποιήσεις με τύπους. Επιλέγετε πρώτα την περιοχή που θέλετε να έχετε τη χρωματική επισήμανση, τμήμα φύλλου ή ολόκληρο το φύλλο και εισάγετε την μορφοποίηση:
α) Για τον χρωματισμό της γραμμής του ενεργού κελιού:
=CELL("ROW")=ROW()
β) Για τον χρωματισμό της στήλης του ενεργού κελιού:
=CELL("COL")=COLUMN()
γ) Για να επισημάνετε ταυτόχρονα στήλη και γραμμή θα εισάγετε και τις δύο παραπάνω μορφοποιήσεις .
δ) Για την χρωματική επισήμανση του ενεργού κελιού:
=ADDRESS(ROW();COLUMN())=CELL("ADDRESS")
ε) Για τον χρωματισμό της γραμμής πάνω και της στήλης αριστερά του ενεργού κελιού θα εισάγετε τις παρακάτω δύο μορφοποιήσεις:
=CELL("COL")=COLUMN()+1
=CELL("ROW")=ROW()+1
Παίξτε, αλλάζοντας τον αριθμό 1 σε άλλο ακέραιο, θετικό ή αρνητικό και θα έχετε χρωματικές επισήμανσης γραμμών και στηλών σε όση απόσταση επιθυμείτε από το κάθε φορά ενεργό κελί.
στ) Με τον τύπο:
=ADDRESS(ROW()+a;COLUMN()+b)=CELL("ADDRESS")
όπου a και b αριθμοί ακέραιοι, θετικοί ή αρνητικοί ή μηδέν θα μπορείτε να χρωματίζετε οποιαδήποτε κελί σε σχέση με το ενεργό.
Για τους φίλους του ιστολογίου που δεν είναι αρκετά εξοικειωμένοι με τις μορφοποιήσεις με τύπους ή με την εισαγωγή κώδικα, ακολουθούν αναλυτικές οδηγίες.
Αναλυτικά τα βήματα για να εισάγετε τη μορφοποίηση:
Για Excel 2007
Επιλέξτε (με το ποντίκι) την περιοχή στην οποία θέλετε να εμφανίζονται ο χρωματικός δείκτης γραμμής και: Καρτέλα Κεντρική > Μορφοποίηση υπό όρους > Δημιουργία κανόνα…
Ανοίγει η καρτέλα: “Δημιουργία κανόνα μορφοποίησης” και επιλέγετε: “Χρήση τύπου για τον καθορισμό των κελίων που θα μορφοποιηθούν” και στο πλαίσιο: “Μορφοποίηση τιμών όπου ο τύπος είναι αληθής” γράφετε τον τύπο:
=CELL("ROW")=ROW()
Στη συνέχεια επιλέγετε το πλήκτρο “Μορφοποίηση” και από την καρτέλα “ Γέμισμα” επιλέγετε ένα χρώμα. Πατήστε ΟΚ και ξανά ΟΚ. Έχετε έτσι, ολοκληρώσει τη μορφοποίηση.
Αν θέλετε να έχετε και χρωματικό δείκτη στήλης , εισάγετε με τον ίδιο τρόπο και δεύτερη μορφοποίηση με τύπο αυτή τη φορά:
=CELL("COL")=COLUMN()
Για Excel 2003 και προηγούμενα:
Επιλέξτε (με το ποντίκι) την περιοχή στην οποία θέλετε να εμφανίζονται ο χρωματικός δείκτης γραμμής και: Μενού: Μορφή > Μορφοποίηση υπό όρους
Στο πτυσσόμενο πλαίσιο επιλέξτε “ Ο τύπος είναι” και δεξιά γράψτε τον τύπο :
=CELL("ROW")=ROW()
Στη συνέχεια επιλέγετε το πλήκτρο “Μορφοποίηση” και από την καρτέλα Μοτίβα επιλέγετε ένα χρώμα. Πατήστε ΟΚ και ξανά ΟΚ. Έχετε έτσι, ολοκληρώσει τη μορφοποίηση.
Αν θέλετε να έχετε και χρωματικό δείκτη στήλης , προσθέστε με τον ίδιο τρόπο και δεύτερη μορφοποίηση με τύπο αυτή τη φορά:
=CELL("COL")=COLUMN()
Αναλυτικά βήματα για να εισάγετε τον κώδικα :
Με ανοιχτό το excel βιβλίο στο οποίο θέλετε να εισάγετε τους χρωματικούς δείκτες , πατήστε τον συνδυασμό πλήκτρων ALT+F11 για να εμφανιστεί ο επεξεργαστής της Visual Basic.
Στο πάνω αριστερά παράθυρο Project, βρέστε το βιβλίο σας. Αν το βιβλίο λέγεται πχ Color_Mark.xls, εδώ θα το δείτε ως: VBAProject(Color_Mark.xls). Βεβαιωθείτε ότι το τετράγωνο μπροστά στο όνομα δείχνει πλην (-) και όχι συν (+). Διπλοπατήστε (διπλό αριστερό κλικ) στο ThisWorkbook που βλέπετε αμέσως από κάτω και δεξιά γράψτε ή αντιγράψτε τις λίγες σειρές κώδικα που έχουμε αναφέρει πιο πάνω. (Δέστε την εικόνα που ακλουθεί). Όταν ολοκληρώσετε πατήστε ALT+Q για να κλείσει ο επεξεργαστής της Visual Basic και να ξαναγυρίσετε στα φύλλα του βιβλίου. Αποθηκεύστε το βιβλίο και είστε έτοιμος. Αν δουλεύετε σε excel 2007 και άνω, πρέπει να το αποθηκεύσετε σαν βιβλίο με δυνατότητα μακροεντολών (xlsm).

Πατήστε πάνω στην εικόνα για μεγέθυνση
Τις παραπάνω τεχνικές μπορείτε να δείτε και στο excel βιβλίο: Color_Mark

This entry was posted in excel, Μακροεντολές, Μορφοποίηση υπό όρους, VBA and tagged , , , . Bookmark the permalink.

5 Responses to Χρωματική επισήμανση ενεργού κελιού, στήλης και γραμμής

  1. Ο/Η kostas λέει:

    Καλησπέρα . πολύ βολικό όλο αυτό . μπράβο σας . αυτό που χρειάζομαι εγώ είναι να βάζω ένα π.χ «οκ» στο κει Κ8 και να με πρασινίζει το κελί «Α8» ή και όλη την σειρά 8 με μια «-» στο κελί Κ8 να είναι κόκκινο το κελί Α8

  2. Ο/Η vioannis λέει:

    Κώστα Καλή Χρονιά!
    Χρειάζεσαι για κάθε περίπτωση μια «Μορφοποίηση υπό όρους». Για να πρασινίζει το κελί Α8, με επιλεγμένο το κελί, Α8 κάνε εισαγωγή της μορφοποίησης με τύπο:

    	
    =OR($K$8="ok";$K$8="οκ")
    

    Το πρώτο ΟΚ είναι με το αγγλικό πληκτρολόγιο, το δεύτερο με το ελληνικό.
    Για να πρασινίζει ολόκληρη η γραμμή 8, επίλεξέ την και κάνε εισαγωγή της ίδιας μορφοποίησης. Για το κόκκινο χρώμα, η μορφοποίηση θα έχει τύπο:

    	
    =$K$8="-"
    

    τον οποίο θα εισάγεις έχοντας αντίστοιχα επιλεγμένο το κελί Α8 ή όλη την γραμμή 8.

  3. Ο/Η kostas λέει:

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

  4. Ο/Η kostas λέει:

    Συγνώμη και πάλι επειδή αυτό το χρειάζομαι σε όλο το φύλλο για κάθε σειρά . εκτός από το να το κάνω σε κάθε σειρά χωριστά πως αλλιώς γίνεται γιατί όπως και αν προσπάθησα δεν μου βγήκε

  5. Ο/Η vioannis λέει:

    Κώστα, επίλεξε μια γραμμή, ας πούμε την 5η. Κάνε εισαγωγή της μορφοποίησης:

    =OR($K5="ok";$K5="οκ")
    

    (Πρόσεξε ότι $ υπάρχει τώρα, μόνο εμπρός από το Κ και ο αριθμός 5, είναι ο αριθμός της γραμμής)
    Έτσι, θα εισάγεις την μορφοποίηση στην γραμμή 5. Μετά με το πινέλο της μορφοποίησης αντιγράφεις και επικολλάς σε όσες γραμμές θέλεις.

Τα σχόλια είναι απενεργοποιημένα.