Salt la conținutul principal

Cum să protejați sau să blocați valorile celulei pe baza culorii de fundal?

Presupunând că am o foaie de lucru mare și mai multe celule sunt umplute cu culori de fundal diferite, acum vreau să blochez sau să protejez celulele pe baza anumitor culori umplute, cum ar fi blocarea sau protejarea tuturor celulelor cu culoare roșie. Există metode bune pentru a face față acestei sarcini în Excel?

Protejați sau blocați valorile celulei pe baza culorii de fundal cu codul VBA


săgeată albastru dreapta balon Protejați sau blocați valorile celulei pe baza culorii de fundal cu codul VBA

De exemplu, vreau să blochez și să protejez toate celulele roșii, pentru a împiedica ceilalți utilizatori să modifice aceste valori ale celulei, următorul cod VBA vă poate rezolva această sarcină, vă rugăm să faceți acest lucru:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: Protejați sau blocați valorile celulei pe baza culorii:

Sub lockcellsbycolor()
'Updateby Extendoffice
    Dim colorIndex As Integer
    colorIndex = 3
    Dim xRg As Range
    Application.ScreenUpdating = False
    For Each xRg In ActiveSheet.UsedRange.Cells
        Dim color As Long
        color = xRg.Interior.colorIndex
        If (color = colorIndex) Then
            xRg.Locked = True
        Else
            xRg.Locked = False
        End If
    Next xRg
    Application.ScreenUpdating = True
    MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub

notițe: În codul de mai sus, numărul 3 în cadrul colorIndex = 3 scriptul indică celulele de culoare roșie pe care vreau să le blochez, le puteți schimba la alt index de culoare pe care doriți să îl blocați.

3. Apoi apăsați F5 tasta pentru a rula acest cod și numai celulele de culoare roșie au fost blocate, alte celule sunt deblocate în intervalul folosit de foaie activă, a se vedea captura de ecran:

doc blochează celulele după culoarea 1

4. Dacă doriți să le protejați de modificarea de către alți utilizatori, trebuie doar să aplicați fișierul Protejați foaia pentru a proteja această foaie de lucru.

Sfaturi: Pentru a obține numărul indexului de culoare, puteți aplica următoarea funcție definită de utilizator:

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour, y a t il une astuce quand la feuille est protégée d utiliser le panel des couleurs dans l onglet accueil pour mettre un fond de couleur sur les cases non protégés merci
This comment was minimized by the moderator on the site
How do you run this in a loop, so that all cells in all sheets that are not the specific color will be protected?
This comment was minimized by the moderator on the site
Can this be applied to a sheet with merged cells and can it recognize a cell color that is based on conditional formatting? I want to lock cells that are color code 15 and those cells are color code 15 based on a conditional format. Thank you in advance.
This comment was minimized by the moderator on the site
Bonjour,
j'aurais voulu savoir si il était possible de faire la même chose mais avec la valeur de la cellule plutôt que la couleur?
Par exemple: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

Merci d'avance
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations