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
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
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!