Cum se evidențiază rândul și coloana activă în Excel

  • Imparte Asta
Michael Brown

În acest tutorial, veți învăța 3 moduri diferite de a evidenția dinamic rândul și coloana unei celule selectate în Excel.

Atunci când vizualizați o foaie de lucru mare pentru o perioadă lungă de timp, este posibil ca în cele din urmă să pierdeți urma unde se află cursorul și la ce date vă uitați. Pentru a ști exact unde vă aflați în orice moment, faceți ca Excel să evidențieze automat rândul și coloana activă pentru dvs.! Firește, evidențierea ar trebui să fie dinamică și să se schimbe de fiecare dată când selectați o altă celulă. În esență, acesta este obiectivul pe care îl urmărim:

    Evidențierea automată a rândului și coloanei celulei selectate cu VBA

    Acest exemplu arată cum se poate evidenția o coloană și un rând activ în mod programatic cu ajutorul VBA. Pentru aceasta, vom utiliza funcția SelectionChange evenimentul din Fișa de lucru obiect.

    În primul rând, ștergeți culoarea de fundal a tuturor celulelor din foaie prin setarea parametrului ColorIndex la 0. Apoi, se evidențiază întregul rând și întreaga coloană a celulei active prin setarea proprietății ColorIndex la numărul de index pentru culoarea dorită.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Ștergeți culoarea tuturor celulelor Cells.Interior.ColorIndex = 0 With Target 'Evidențiați rândul și coloana celulei selectate .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub

    Personalizarea codului

    Dacă doriți să personalizați codul în funcție de nevoile dumneavoastră, aceste mici sfaturi vă pot fi utile:

    • Exemplul nostru de cod utilizează două culori diferite, demonstrate în imaginea de mai sus - indicele de culoare 38 pentru rând și 24 pentru coloană. Pentru a schimbați culoarea de evidențiere , înlocuiți-le pur și simplu cu orice cod ColorIndex pe care îl alegeți.
    • Pentru a obține rândurile și coloanele colorate în în același mod , folosiți același număr de indice de culoare pentru ambele.
    • Pentru a evidenția numai rând activ , eliminați sau comentați această linie: .EntireColumn.Interior.ColorIndex = 24
    • Pentru a evidenția numai coloana activă , eliminați sau comentați această linie: .EntireRow.Interior.ColorIndex = 38

    Cum să adăugați codul la foaia de calcul

    Pentru ca codul să fie executat silențios în fundalul unei anumite foi de calcul, trebuie să îl inserați în fereastra de cod aparținând acelei foi de calcul, nu în modulul normal. Pentru a face acest lucru, efectuați următorii pași:

    1. În registrul de lucru, apăsați Alt + F11 pentru a ajunge la editorul VBA.
    2. În Project Explorer din stânga, veți vedea o listă cu toate registrele de lucru deschise și foile de lucru ale acestora. Dacă nu o vedeți, utilizați comanda rapidă Ctrl + R pentru a afișa fereastra Project Explorer.
    3. Găsiți registrul de lucru țintă. Obiecte Microsoft Excel folder, faceți dublu clic pe foaia în care doriți să aplicați evidențierea. În acest exemplu, este vorba despre Foaia 1 .
    4. În fereastra Code din dreapta, lipiți codul de mai sus.
    5. Salvați fișierul dvs. ca Caietul de lucru cu macro (.xlsm).

    Avantaje : totul se face în backend; nu sunt necesare ajustări/personalizări din partea utilizatorului; funcționează în toate versiunile Excel.

    Dezavantaje : există două dezavantaje esențiale care fac această tehnică inaplicabilă în anumite circumstanțe:

    • Codul șterge culorile de fundal a tuturor celulelor din foaia de calcul. Dacă aveți celule colorate, nu utilizați această soluție, deoarece formatarea personalizată se va pierde.
    • Executarea acestui cod blocuri funcționalitatea de anulare pe foaie și nu veți putea anula o acțiune greșită apăsând Ctrl + Z .

    Evidențiați rândul și coloana activă fără VBA

    Cel mai bun lucru pe care îl puteți obține pentru a evidenția rândul și/sau coloana selectată fără VBA este formatarea condiționată din Excel. Pentru a o configura, efectuați următorii pași:

    1. Selectați setul de date în care trebuie efectuată evidențierea.
    2. Pe Acasă în fila Stiluri grup, faceți clic pe Regula nouă .
    3. În Regulă nouă de formatare caseta de dialog, alegeți Utilizați o formulă pentru a determina ce celule trebuie formatate .
    4. În Formatați valorile în cazul în care această formulă este adevărată introduceți una dintre aceste formule:

      Pentru a evidenția rând activ :

      =CELL("row")=ROW()

      Pentru a evidenția coloana activă :

      =CELL("col")=COLUMN()

      Pentru a evidenția rândul și coloana activă :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      Toate formulele utilizează funcția CELL pentru a returna numărul rândului/coloanei din celula selectată.

    5. Faceți clic pe butonul Format comutați la butonul Umpleți și selectați culoarea care vă place.
    6. Faceți clic pe OK de două ori pentru a închide ambele ferestre de dialog.

    Dacă simțiți că aveți nevoie de instrucțiuni mai detaliate, vă rugăm să consultați Cum se creează o regulă de formatare condiționată bazată pe formule.

    Pentru acest exemplu, am optat pentru formula OR pentru a nuanța atât coloana, cât și rândul în aceeași culoare. Acest lucru necesită mai puțină muncă și este potrivit pentru majoritatea cazurilor.

    Din păcate, această soluție nu este la fel de bună ca cea VBA, deoarece necesită recalcularea manuală a foii (prin apăsarea tastei F9). În mod implicit, Excel recalculează o foaie de lucru numai după introducerea de date noi sau după modificarea celor existente, dar nu și atunci când se schimbă selecția. Așadar, selectați o altă celulă - nu se întâmplă nimic. Apăsați F9 - foaia este reîmprospătată, formula este recalculată, iar evidențierea este actualizată.

    Pentru ca foaia de calcul să fie recalculată automat ori de câte ori se aplică SelectionChange puteți plasa acest cod VBA simplu în modulul de cod al foii țintă, așa cum s-a explicat în exemplul anterior:

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    Codul forțează recalcularea intervalului/celulei selectate, ceea ce, la rândul său, forțează funcția CELL să se actualizeze și formatarea condiționată să reflecte modificarea.

    Avantaje : spre deosebire de metoda anterioară, aceasta nu afectează formatarea existentă pe care ați aplicat-o manual.

    Dezavantaje : poate înrăutăți performanțele Excel.

    • Pentru ca formatarea condiționată să funcționeze, trebuie să forțați Excel să recalculeze formula la fiecare modificare a selecției (fie manual cu tasta F9, fie automat cu VBA). Recalculările forțate pot încetini Excel-ul. Deoarece codul nostru recalculează selecția și nu o foaie întreagă, un efect negativ va fi cel mai probabil vizibil numai în cazul unor registre de lucru foarte mari și complexe.
    • Deoarece funcția CELL este disponibilă în Excel 2007 și versiunile ulterioare, metoda nu va funcționa în versiunile anterioare.

    Evidențiați rândul și coloana selectate utilizând formatarea condiționată și VBA

    În cazul în care metoda anterioară vă încetinește considerabil registrul de lucru, puteți aborda sarcina în mod diferit - în loc să recalculați o foaie de lucru la fiecare mișcare a utilizatorului, obțineți numărul de rânduri/coloane active cu ajutorul VBA și apoi furnizați acest număr funcției ROW() sau COLUMN() utilizând formule de formatare condiționată.

    Pentru a realiza acest lucru, iată care sunt pașii pe care trebuie să-i urmați:

    1. Adăugați o nouă foaie goală la registrul de lucru și numiți-o Foaie de ajutor Singurul scop al acestei foi este de a stoca două numere reprezentând rândul și coloana care conțin o celulă selectată, astfel încât să puteți ascunde foaia mai târziu.
    2. Introduceți VBA de mai jos în fereastra de cod a foii de lucru în care doriți să implementați evidențierea. Pentru instrucțiuni detaliate, consultați primul nostru exemplu. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating= True End Sub

      Codul de mai sus plasează coordonatele rândului și coloanei active în foaia numită "Helper Sheet". Dacă ați numit foaia altfel la pasul 1, modificați în consecință numele foii de lucru din cod. Numărul rândului este scris în A2, iar numărul coloanei în B2.

    3. În foaia de lucru țintă, selectați întregul set de date și creați o regulă de formatare condiționată cu formulele de mai jos. În exemplul de mai sus sunt furnizate îndrumări pas cu pas.

    Și acum, haideți să abordăm în detaliu cele trei cazuri principale de utilizare.

    Cum se evidențiază rândul activ

    Pentru a evidenția rândul pe care se află cursorul în acest moment, configurați o regulă de formatare condiționată cu această formulă:

    =ROW()='Helper Sheet'!$A$2

    Ca rezultat, utilizatorul poate vedea clar care este rândul selectat în prezent:

    Cum se evidențiază coloana activă

    Pentru a evidenția coloana selectată, introduceți numărul coloanei în funcția COLUMN folosind această formulă:

    =COLUMN()='Helper Sheet'!$B$2

    Acum, o coloană evidențiată vă permite să citiți confortabil și fără efort datele verticale, concentrându-vă în întregime asupra lor.

    Cum se evidențiază rândul și coloana activă

    Pentru ca atât rândul cât și coloana selectate să fie umbrite automat în aceeași culoare, combinați funcțiile ROW() și COLUMN() într-o singură formulă:

    =OR(ROW()='Foaie ajutătoare'!$A$2, COLUMN()='Foaie ajutătoare'!$B$2)

    Datele relevante sunt puse imediat în evidență, astfel încât puteți evita să le interpretați greșit.

    Avantaje : performanță optimizată; funcționează în toate versiunile Excel

    Dezavantaje : cea mai lungă configurare

    Iată cum se evidențiază coloana și rândul unei celule selectate în Excel. Vă mulțumesc pentru lectură și vă aștept pe blogul nostru săptămâna viitoare!

    Caietul de practică pentru descărcare

    Evidențierea rândului și coloanei active (fișier .xlsm)

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.