Note: The other languages of the website are Google-translated. Back to English

Hur skyddar eller låser man cellvärden baserat på bakgrundsfärg?

Antag att jag har ett stort kalkylblad och flera celler är fyllda med olika bakgrundsfärger, nu vill jag låsa eller skydda cellerna baserat på viss fylld färg, som att låsa eller skydda alla celler med röd färg. Finns det några bra metoder för att hantera den här uppgiften i Excel?

Skydda eller lås cellvärden baserat på bakgrundsfärg med VBA-kod


pil blå höger bubbla Skydda eller lås cellvärden baserat på bakgrundsfärg med VBA-kod

Till exempel vill jag låsa och skydda alla röda blodkroppar, för att hindra andra användare från att ändra dessa cellvärden, kan följande VBA-kod lösa detta jobb åt dig, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Skydda eller låsa cellvärden baserat på färg:

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

Anmärkningar: I ovanstående kod, numret 3 inom colorIndex = 3 skriptet anger de röda färgcellerna jag vill låsa, du kan ändra det till ett annat färgindex som du vill låsa.

3. Tryck sedan på F5 nyckel för att köra den här koden och endast röda färgceller har låsts, andra celler låses upp i det använda området av aktivt ark, se skärmdump:

doc låsa celler efter färg 1

4. Om du vill skydda dem från att ändras av andra användare behöver du bara använda Skydda arket funktion för att skydda detta kalkylblad.

Tips: För att få färgindexnummer kan du använda följande användardefinierade funktion:

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

De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (4)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej!
j'aurais voulu savoir si il était möjligt de faire la même valde mais avec la valeur de la cellule plutôt que la couleur?
Ett exempel: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

Tack i förväg
Denna kommentar minimerades av moderatoren på webbplatsen
Kan detta tillämpas på ett ark med sammanslagna celler och kan det känna igen en cellfärg som är baserad på villkorlig formatering? Jag vill låsa celler som är färgkod 15 och dessa celler är färgkod 15 baserat på ett villkorligt format. Tack på förhand.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kör man detta i en loop, så att alla celler i alla ark som inte är den specifika färgen kommer att skyddas?
Denna kommentar minimerades av moderatoren på webbplatsen
Bonjour, yat 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 fall non protégés merci
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL