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
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:
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.

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!




