Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako zaščititi ali zakleniti celične vrednosti glede na barvo ozadja?

Predpostavljam, da imam velik delovni list in več celic je napolnjenih z različnimi barvami v ozadju, zdaj pa želim zakleniti ali zaščititi celice na podlagi določene barve, kot je zaklepanje ali zaščita vseh celic z rdečo barvo. Ali obstajajo kakšne dobre metode za reševanje te naloge v Excelu?

Zaščitite ali blokirajte vrednosti celic glede na barvo ozadja s kodo VBA


puščica modra desno mehurček Zaščitite ali blokirajte vrednosti celic glede na barvo ozadja s kodo VBA

Na primer, želim zakleniti in zaščititi vse rdeče celice, da bi drugim uporabnikom preprečili spreminjanje teh vrednosti celice, lahko ta VBA koda reši za vas, storite tako:

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Moduli Okno.

VBA koda: Zaščitite ali blokirajte vrednosti celic glede na barvo:

Sub lockcellsbycolor()
'Updateby Extendoffice 20161027
    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

Opombe: V zgornji kodi, številka 3 znotraj colorIndex = 3 skript označuje rdeče barvne celice, ki jih želim zakleniti, lahko jih spremenite v drug barvni indeks, ki ga želite zakleniti.

3. Nato pritisnite F5 ključ za zagon te kode in samo blokirane rdeče barvne celice, druge uporabljene celice so odklenjene v uporabljenem obsegu aktivnega stanja, glejte sliko zaslona:

doc zakleniti celice po barvi 1

4. Če jih želite zaščititi pred spremembami drugih uporabnikov, morate uporabiti samo Zaščitite list funkcijo za zaščito tega delovnega lista.

Nasveti: Če želite dobiti številko indeksa barve, lahko uporabite naslednjo funkcijo, ki je definirana uporabnikom:

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


Priporočena orodja za produktivnost za Excel

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ben · 6 months ago
    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.
  • To post as a guest, your comment is unpublished.
    Sébastien · 9 months ago
    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