Μετάβαση στο κύριο περιεχόμενο

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

Αυτόματη επισήμανση της ενεργής γραμμής και στήλης στο Excel


Βίντεο: Αυτόματη επισήμανση της ενεργής γραμμής και στήλης στο Excel


Αυτόματη επισήμανση της ενεργής γραμμής και στήλης με κωδικό VBA

Για αυτόματη επισήμανση ολόκληρης της στήλης και της γραμμής του επιλεγμένου κελιού στο τρέχον φύλλο εργασίας, ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει να επιτύχετε αυτήν την εργασία.

Βήμα 1: Ανοίξτε το φύλλο εργασίας όπου θέλετε να επισημάνετε αυτόματα την ενεργή γραμμή και στήλη

Βήμα 2: Ανοίξτε το πρόγραμμα επεξεργασίας της μονάδας φύλλου VBA και αντιγράψτε τον κώδικα

  1. Κάντε δεξί κλικ στο όνομα του φύλλου και επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος, δείτε το στιγμιότυπο οθόνης:
  2. Στο ανοιχτό πρόγραμμα επεξεργασίας μονάδας φύλλου VBA, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην κενή μονάδα. Δείτε στιγμιότυπο οθόνης:
    Κωδικός VBA: γραμμή αυτόματης επισήμανσης και στήλη επιλεγμένου κελιού
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Update by Extendoffice
        Dim rowRange As Range
        Dim colRange As Range
        Dim activeCell As Range
        Set activeCell = Target.Cells(1, 1)
        Set rowRange = Rows(activeCell.Row)
        Set colRange = Columns(activeCell.Column)
         Cells.Interior.ColorIndex = xlNone
        rowRange.Interior.Color = RGB(248, 150, 171)
        colRange.Interior.Color = RGB(173, 233, 249)
    End Sub
    
    Συμβουλές: Προσαρμόστε τον κώδικα
    • Για να αλλάξετε το χρώμα επισήμανσης, απλά πρέπει να τροποποιήσετε την τιμή RGB στα ακόλουθα σενάρια:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Για να επισημάνετε μόνο ολόκληρη τη σειρά του επιλεγμένου κελιού, αφαιρέστε ή σχολιάστε (προσθέστε μια απόστροφο στο μπροστινό μέρος) αυτής της γραμμής:
      colRange.Interior.Color = RGB(173, 233, 249)
    • Για να επισημάνετε μόνο ολόκληρη τη στήλη του επιλεγμένου κελιού, αφαιρέστε ή σχολιάστε (προσθέστε μια απόστροφο στο μπροστινό μέρος) αυτής της γραμμής:
      rowRange.Interior.Color = RGB(248, 150, 171)

  3. Στη συνέχεια, κλείστε το παράθυρο του επεξεργαστή VBA για να επιστρέψετε στο φύλλο εργασίας.

Αποτέλεσμα:

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

:
  • Αυτός ο κώδικας θα διαγράψει τα χρώματα φόντου από όλα τα κελιά του φύλλου εργασίας, επομένως, αποφύγετε τη χρήση αυτής της λύσης εάν έχετε κελιά με προσαρμοσμένο χρωματισμό.
  • Η εκτέλεση αυτού του κωδικού θα απενεργοποιήσει το Αναίρεση εμφανίζεται στο φύλλο, που σημαίνει ότι δεν μπορείτε να αντιστρέψετε κανένα λάθος πατώντας το Ctrl + Z συντομώτερος δρόμος.
  • Αυτός ο κωδικός δεν θα λειτουργεί σε προστατευμένο φύλλο εργασίας.
  • Για να σταματήσετε να επισημαίνετε τη γραμμή και τη στήλη του επιλεγμένου κελιού, θα πρέπει να αφαιρέσετε τον κώδικα VBA που προστέθηκε προηγουμένως. Μετά από αυτό, για να επαναφέρετε την επισήμανση κάνοντας κλικ Home > Χρώμα γεμίσματος > Χωρίς γέμισμα.

Αυτόματη επισήμανση της ενεργής γραμμής και στήλης με ένα μόνο κλικ του Kutools

Αντιμετωπίζετε τους περιορισμούς του κώδικα VBA στο Excel; Kutools για το Excel's Εστίαση πλέγματος Το χαρακτηριστικό είναι η ιδανική λύση! Σχεδιασμένο για να αντιμετωπίζει τις ελλείψεις του VBA, προσφέρει μια ποικιλία από στυλ επισήμανσης για να βελτιώσει την εμπειρία σας στα φύλλα. Με την ικανότητά του να εφαρμόζει αυτά τα στυλ σε όλα τα ανοιχτά βιβλία εργασίας, Kutools εξασφαλίζει μια σταθερά αποτελεσματική και οπτικά ελκυστική διαδικασία διαχείρισης δεδομένων.

Note: Εάν θέλετε να το χρησιμοποιήσετε Εστίαση πλέγματος χαρακτηριστικό, παρακαλώ κατεβάστε και εγκαταστήστε το Kutools για Excel πρώτη.

Μετά την εγκατάσταση Kutools για Excel, Παρακαλώ κάντε κλικ στο κουμπί Kutools > Εστίαση πλέγματος για να ενεργοποιήσετε αυτήν τη δυνατότητα. Τώρα, μπορείτε να δείτε τη γραμμή και τη στήλη του ενεργού κελιού να επισημαίνονται αμέσως. Αυτή η επισήμανση αλλάζει δυναμικά για να ακολουθήσει καθώς αλλάζετε την επιλογή κελιού σας. Δείτε το demo παρακάτω:

Βασικά πλεονεκτήματα της λειτουργίας Grid Focus:
  • Διατηρεί τα αρχικά χρώματα φόντου κελιών:
    Σε αντίθεση με τον κώδικα VBA, αυτή η δυνατότητα σέβεται την υπάρχουσα μορφοποίηση του φύλλου εργασίας σας.
  • Χρησιμοποιείται σε προστατευμένα φύλλα:
    Αυτή η δυνατότητα λειτουργεί απρόσκοπτα σε προστατευμένα φύλλα εργασίας, καθιστώντας την ιδανική για τη διαχείριση ευαίσθητων ή κοινόχρηστων εγγράφων χωρίς να διακυβεύεται η ασφάλεια.
  • Δεν επηρεάζει τη λειτουργία Αναίρεσης:
    Με αυτήν τη δυνατότητα, διατηρείτε πλήρη πρόσβαση στη λειτουργία αναίρεσης του Excel. Αυτό διασφαλίζει ότι μπορείτε να επαναφέρετε εύκολα τις αλλαγές, προσθέτοντας ένα επίπεδο ασφάλειας στον χειρισμό των δεδομένων σας.
  • Σταθερή απόδοση με μεγάλα δεδομένα:
    Αυτή η δυνατότητα έχει σχεδιαστεί για να χειρίζεται αποτελεσματικά μεγάλα σύνολα δεδομένων, διασφαλίζοντας σταθερή απόδοση ακόμη και σε πολύπλοκα υπολογιστικά φύλλα με ένταση δεδομένων.
  • Πολλαπλά στυλ επισήμανσης:
    Αυτή η λειτουργία προσφέρει μια ποικιλία επιλογών επισήμανσης, επιτρέποντάς σας να επιλέξετε από διαφορετικά στυλ και χρώματα για να κάνετε το ενεργό κελί της γραμμής, στήλης ή γραμμής και στήλης να ξεχωρίζει με τρόπο που ταιριάζει καλύτερα στις προτιμήσεις και τις ανάγκες σας.
Συμβουλές:
  • Για να απενεργοποιήσετε αυτήν τη δυνατότητα, κάντε κλικ Kutools > Εστίαση πλέγματος ξανά για να κλείσετε αυτή τη λειτουργία.
  • Για να εφαρμόσετε αυτήν τη δυνατότητα, παρακαλούμε κατεβάστε και εγκαταστήστε το Kutools για Excel πρώτη.

Αυτόματη επισήμανση της ενεργής γραμμής και στήλης με Μορφοποίηση υπό όρους

Στο Excel, μπορείτε επίσης να ρυθμίσετε τη Μορφοποίηση υπό όρους για αυτόματη επισήμανση της ενεργής γραμμής και στήλης. Για να ρυθμίσετε αυτήν τη δυνατότητα, ακολουθήστε τα εξής βήματα:

Βήμα 1: Επιλέξτε το εύρος δεδομένων

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

Βήμα 2: Πρόσβαση στη Μορφοποίηση υπό όρους

Πατήστε Home > Μορφοποίηση υπό όρους > Νέος κανόνας, δείτε το στιγμιότυπο οθόνης:

Βήμα 3: Ορίστε τις λειτουργίες στον Κανόνα Νέας Μορφοποίησης

  1. Στο Νέος κανόνας μορφοποίησης , επιλέξτε Χρησιμοποιήστε έναν τύπο για να προσδιορίσετε ποια κελιά θα μορφοποιηθούν από το Επιλέξτε έναν τύπο κανόνα πλαίσιο λίστας.
  2. Στο Μορφοποιήστε τιμές όπου ισχύει αυτός ο τύπος πλαίσιο, πληκτρολογήστε έναν από αυτούς τους τύπους, σε αυτό το παράδειγμα, θα εφαρμόσω τον τρίτο τύπο για να επισημάνω την ενεργή γραμμή και στήλη.
    Για να επισημάνετε την ενεργή σειρά:
    =CELL("row")=ROW()
    Για να επισημάνετε την ενεργή στήλη:
    =CELL("col")=COLUMN()
    Για να επισημάνετε την ενεργή γραμμή και στήλη:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Στη συνέχεια, κάντε κλικ στο κουμπί Μορφή κουμπί.
  4. Στα ακόλουθα κύτταρα μορφή πλαίσιο διαλόγου, κάτω από το Γέμισμα καρτέλα, επιλέξτε ένα χρώμα για να επισημάνετε την ενεργή γραμμή και στήλη όπως χρειάζεστε, δείτε στιγμιότυπο οθόνης:
  5. Στη συνέχεια, κάντε κλικ στο κουμπί OK > OK για να κλείσετε τους διαλόγους.

Αποτέλεσμα:

Τώρα, μπορείτε να δείτε ότι ολόκληρη η στήλη και η γραμμή του κελιού A1 έχουν επισημανθεί ταυτόχρονα. Για να εφαρμόσετε αυτήν την επισήμανση σε άλλο κελί, απλώς κάντε κλικ στο κελί που θέλετε και πατήστε το F9 πλήκτρο για να ανανεώσετε το φύλλο, το οποίο στη συνέχεια θα επισημάνει ολόκληρη τη στήλη και τη γραμμή του πρόσφατα επιλεγμένου κελιού.

Συμβουλές: 
  • Πράγματι, ενώ η προσέγγιση μορφοποίησης υπό όρους για την επισήμανση στο Excel προσφέρει μια λύση, δεν είναι τόσο απρόσκοπτη όσο η χρήση VBA και Εστίαση πλέγματος χαρακτηριστικό. Αυτή η μέθοδος απαιτεί χειροκίνητο εκ νέου υπολογισμό του φύλλου (που επιτυγχάνεται πατώντας το F9 κλειδί).
    Για να ενεργοποιήσετε τον αυτόματο επανυπολογισμό του φύλλου εργασίας σας, μπορείτε να ενσωματώσετε έναν απλό κώδικα VBA στη μονάδα κώδικα του φύλλου προορισμού σας. Αυτό θα αυτοματοποιήσει τη διαδικασία ανανέωσης, διασφαλίζοντας τις ενημερώσεις επισήμανσης αμέσως καθώς επιλέγετε διαφορετικά κελιά χωρίς να πατήσετε το F9 κλειδί. Κάντε δεξί κλικ στο όνομα του φύλλου και, στη συνέχεια, επιλέξτε Προβολή κωδικού από το μενού περιβάλλοντος. Στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στη λειτουργική μονάδα φύλλου:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Η Μορφοποίηση υπό όρους διατηρεί την υπάρχουσα μορφοποίηση που έχετε εφαρμόσει με μη αυτόματο τρόπο στο φύλλο εργασίας σας.
  • Η μορφοποίηση υπό όρους είναι γνωστό ότι είναι ασταθής, ειδικά όταν εφαρμόζεται σε πολύ μεγάλα σύνολα δεδομένων. Η εκτεταμένη χρήση του μπορεί ενδεχομένως να επιβραδύνει την απόδοση του βιβλίου εργασίας σας, επηρεάζοντας την αποτελεσματικότητα της επεξεργασίας δεδομένων και της πλοήγησης.
  • Η συνάρτηση CELL είναι διαθέσιμη μόνο σε εκδόσεις Excel 2007 και νεότερες εκδόσεις, αυτή η μέθοδος δεν είναι συμβατή με προηγούμενες εκδόσεις του Excel.

Σύγκριση των παραπάνω Μεθόδων

Χαρακτηριστικό Κωδικός VBA Μορφοποίηση υπό όρους Kutools για Excel
Διατηρήστε το χρώμα φόντου κελιού Οχι Ναι Ναι
Υποστηρίζει Αναίρεση Οχι Ναι Ναι
Σταθερό σε μεγάλα σύνολα δεδομένων Οχι Οχι Ναι
Χρησιμοποιείται σε προστατευμένα φύλλα Οχι Ναι Ναι
Ισχύει για όλα τα ανοιχτά βιβλία εργασίας Μόνο το τρέχον φύλλο Μόνο το τρέχον φύλλο Όλα τα ανοιχτά βιβλία εργασίας
Απαιτείται μη αυτόματη ανανέωση (F9) Οχι Ναι Οχι

Αυτό ολοκληρώνει τον οδηγό μας σχετικά με τον τρόπο επισήμανσης της στήλης και της γραμμής ενός επιλεγμένου κελιού στο Excel. Εάν ενδιαφέρεστε να εξερευνήσετε περισσότερες συμβουλές και κόλπα για το Excel, ο ιστότοπός μας προσφέρει χιλιάδες εκπαιδευτικά προγράμματα, παρακαλούμε κάντε κλικ εδώ για πρόσβαση σε αυτά. Σας ευχαριστούμε που διαβάσατε και ανυπομονούμε να σας παρέχουμε περισσότερες χρήσιμες πληροφορίες στο μέλλον!


Σχετικά Άρθρα:

  • Αυτόματη επισήμανση γραμμής και στήλης ενεργού κελιού
  • Όταν προβάλετε ένα μεγάλο φύλλο εργασίας με πολλά δεδομένα, ίσως θελήσετε να επισημάνετε τη σειρά και τη στήλη του επιλεγμένου κελιού, ώστε να μπορείτε να διαβάσετε εύκολα και διαισθητικά τα δεδομένα για να αποφύγετε την εσφαλμένη ανάγνωσή τους. Εδώ, μπορώ να σας παρουσιάσω μερικά ενδιαφέροντα κόλπα για να επισημάνετε τη σειρά και τη στήλη του τρέχοντος κελιού, όταν αλλάξει το κελί, η στήλη και η σειρά του νέου κελιού επισημαίνονται αυτόματα.
  • Επισημάνετε κάθε άλλη γραμμή ή στήλη στο Excel
  • Σε ένα μεγάλο φύλλο εργασίας, η επισήμανση ή η συμπλήρωση κάθε άλλης ή κάθε νης γραμμής ή στήλης βελτιώνει την ορατότητα και την αναγνωσιμότητα των δεδομένων. Όχι μόνο κάνει το φύλλο εργασίας να φαίνεται πιο καθαρό, αλλά σας βοηθά επίσης να κατανοήσετε τα δεδομένα πιο γρήγορα. Σε αυτό το άρθρο, θα σας καθοδηγήσουμε σε διάφορες μεθόδους για να σκιάζετε κάθε άλλη ή ντη σειρά ή στήλη, βοηθώντας σας να παρουσιάσετε τα δεδομένα σας με πιο ελκυστικό και απλό τρόπο.
  • Επισημάνετε ολόκληρη / ολόκληρη τη σειρά κατά την κύλιση
  • Εάν έχετε ένα μεγάλο φύλλο εργασίας με πολλές στήλες, θα είναι δύσκολο για εσάς να διακρίνετε δεδομένα σε αυτήν τη σειρά. Σε αυτήν την περίπτωση, μπορείτε να επισημάνετε ολόκληρη τη σειρά του ενεργού κελιού, ώστε να μπορείτε να βλέπετε γρήγορα και εύκολα τα δεδομένα σε αυτήν τη σειρά όταν κάνετε κύλιση προς τα κάτω στην οριζόντια γραμμή κύλισης. Σε αυτό το άρθρο, θα μιλήσω για μερικά κόλπα για να επιλύσετε αυτό το πρόβλημα .
  • Επισημάνετε σειρές με βάση την αναπτυσσόμενη λίστα
  • Αυτό το άρθρο θα μιλήσει για το πώς να επισημάνετε τις σειρές με βάση την αναπτυσσόμενη λίστα, για παράδειγμα να ακολουθήσετε το ακόλουθο στιγμιότυπο οθόνης, όταν επιλέγω "Σε εξέλιξη" από την αναπτυσσόμενη λίστα στη στήλη Ε, πρέπει να επισημάνω αυτήν τη σειρά με κόκκινο χρώμα, όταν επιλέξτε "Ολοκληρώθηκε" από την αναπτυσσόμενη λίστα, πρέπει να επισημάνω αυτήν τη σειρά με μπλε χρώμα και όταν επιλέγω "Δεν έχει ξεκινήσει", θα χρησιμοποιηθεί ένα πράσινο χρώμα για να επισημανθεί η σειρά.
Comments (61)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
And please reply to an email
This comment was minimized by the moderator on the site
Great job . But in the first task at the top of the browser page, when I did it, it was working correctly, but when I made protection for the sheet, it stopped working correctly, you see, what's the solution. Thank you
This comment was minimized by the moderator on the site
Hello,
To solve your problem, please apply the followign code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rowRange As Range
    Dim colRange As Range
    Dim activeCell As Range
    Me.Unprotect
    Cells.Interior.ColorIndex = xlNone
    Set activeCell = Target.Cells(1, 1)
    Set rowRange = Rows(activeCell.Row)
    Set colRange = Columns(activeCell.Column)
    rowRange.Interior.Color = RGB(173, 233, 249)
    colRange.Interior.Color = RGB(173, 233, 249)
    Me.Protect
End Sub



Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    ' Clear previous highlighting
    Me.Cells.FormatConditions.Delete
    
    ' Check if Checkbox1 is checked
    ' If CheckBox1.Value = True Then
        ' Check if a single cell or a range of cells is selected
        If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
            Dim selectedRange As Range
            Dim selectedRows As Range
            Dim selectedColumns As Range
            
            Set selectedRange = Target
            Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
            Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)
            
            ' Add conditional formatting to highlight the selected rows
            With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
            
            ' Add conditional formatting to highlight the selected columns
            With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
        End If
    ' End If
    
    On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

' Clear previous highlighting
Me.Cells.FormatConditions.Delete

' Check if a single cell or a range of cells is selected
If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
Dim selectedRange As Range
Dim selectedRows As Range
Dim selectedColumns As Range

Set selectedRange = Target
Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)

' Add conditional formatting to highlight the selected rows
With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With

' Add conditional formatting to highlight the selected columns
With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With
End If

On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
can you please post code in VBA format? trying to figure out what your code looks like from what you posted in a jumble is frustrating.
This comment was minimized by the moderator on the site
Hi,

The above code is brilliant. But i have two questions and if you can help then will be much appreciated. Let me know if there is cost associated with it.

1. The above code is removing my previous formatting of the cells. Eg. if i have got the cells filld with blue then above code clears that fill.
2. Is there a code that i can use when i am extracting values from another sheet and that row in the that sheet gets highlighted as well. Eg. I want to extract vale from another cell, so when i press = sign in sheet 1 and then when i move to sheet 2 to bring the value the row in the sheet doesn't get highlighted.

Regards,
This comment was minimized by the moderator on the site
Hello, Patel
For the first question:
It may be difficult to modify the VBA code, so, I recommend you to apply the Conditional Formatting feature for solving this problem, the following article may help you:
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html

Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

For the second question:
Sorry, I can't solve this problem at present,😜
This comment was minimized by the moderator on the site
How do you modify the code so that:
1. It does not permanently strip existing colors of cells. Currently, after another cell is selected, it leaves colorless previous row. I'd like to keep the colors of the worksheet, as they were before row was highlighted by this code.
2. Limit the highlight width to only Columns A thru K, not the entire row.
This comment was minimized by the moderator on the site
Hello,
It may be difficult to modify the VBA code, so, here, I recommend you to apply the Conditional Formatting feature for solving this problem, please view the below article: (Note: if you need to highlight the column A to column K, you just need to select the range you need, and then apply the conditional formatting.)
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html


Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you so much for this tip!!!
Rated 5 out of 5
This comment was minimized by the moderator on the site
Another easy way to highlight your rows: https://youtu.be/iOF06mZDGIk
This comment was minimized by the moderator on the site
FAIL. Wiped out all my other cell formatting irreversibly. And doesn't work if the sheet is protected. FAIL.
This comment was minimized by the moderator on the site
Hi Gues,The code does not work in a protected worksheet. If you want to keep the original cell formatting, please try the below code.The Reading Layout feature of Kutools is stable and handy, maybe you can download a free trial to have a try.
<div data-tag="code">Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 202001106
Static xRow
Static xColumn

Dim xWs As Worksheet
Dim xCRg, xCRg1, xRRg, xRRg1, xOHRg As Range
Dim xAHRORg, xAHRORg1 As Range
Dim xAWs As Worksheet
Dim xFNum As Integer
Dim xCll As Range

On Error Resume Next

Application.ScreenUpdating = False
pRow = Selection.Row
pColumn = Selection.Column

Set xWs = ActiveWorkbook.Worksheets.Item("AutoHighlightRAndC")
Set xAWs = Target.Worksheet
If xWs Is Nothing Then
Set xWs = ActiveWorkbook.Worksheets.Add
xWs.Name = "AutoHighlightRAndC"
xWs.Visible = xlSheetHidden
xAWs.Activate
End If

If xColumn <> "" Then
Set xCRg = Columns(xColumn)
xCRg.Interior.ColorIndex = xlNone
Set xCRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg.Count
Set xAHRORg1 = xAWs.Cells(xFNum, xColumn)
Set xAHRORg = xWs.Cells(xFNum, xColumn)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xCRg.Item(xFNum).Interior.ColorIndex = xWs.Columns(xColumn).Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(xRow)
xRRg.Interior.ColorIndex = xlNone
Set xRRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xRRg.Count
Set xAHRORg1 = xAWs.Cells(xRow, xFNum)
Set xAHRORg = xWs.Cells(xRow, xFNum)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xRRg.Item(xFNum).Interior.ColorIndex = xWs.Rows(xRow).Item(xFNum).Interior.ColorIndex
Next

End If

xRow = pRow
xColumn = pColumn

Set xCRg = Columns(pColumn)
Set xCRg1 = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg1.Count
Set xOHRg = xWs.Cells(xFNum, pColumn)
xOHRg.Interior.ColorIndex = xCRg1.Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(pRow)
Set xRRg1 = Intersect(xRRg.Worksheet.UsedRange, xRRg)

For xFNum = 1 To xRRg1.Count
Set xCll = xWs.Cells(pRow, xFNum)
xCll.Interior.ColorIndex = xRRg1.Item(xFNum).Interior.ColorIndex
Next
xCRg.Interior.ColorIndex = 34
xRRg.Interior.ColorIndex = 34
Application.ScreenUpdating = True
End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations