Med Microsoft Excel kan du använda villkoratformatering till celler. Om värdet i en cell uppfyller vissa regler som du har ställt in kommer funktionen för villkorad formatering att ändra färgen på texten i cellen, eller fyllningsfärgen eller båda. Detta är en grundläggande funktion som fungerar direkt ur rutan, men om du vill låsa celler baserade på färg, behöver du lite VBA-skript för att göra det.
Du kan använda villkorlig formatering för att ändrafärg på en cell eller manuellt kan du ändra färgen till vad du vill. VBS-skriptet beror inte på villkorlig formatering för att låsa celler. Den behöver bara en cell för att färgas.
Lås celler baserade på färg
Innan du kan skapa ett VBA-skript måste du känna till färgen på cellen du refererar till. VBA ser inte färger som de är; den refererar till dem via sina färgkoder.
Det första du behöver göra är att ge din cellen färg. Vi har gått med den grundgulan som är tillräckligt lätt att referera till. Om du går med en annan färg använder du den här webbplatsen för att hitta vilken färgkod du behöver använda. Färgkoden vi använder för gul är # FFFF00.
Aktivera fliken Utvecklare i Excel och växla sedan till den. Klicka på Visual Basic-knappen och klistra in följande i 'Detta arbetsblad'. Detta skript har skrivits av Superuser-användaren Dave.
Sub WalkThePlank() dim colorIndex as Integer colorIndex = FFFF00 Dim rng As Range For Each rng In ActiveSheet.UsedRange.Cells Dim color As Long color = rng.Interior.ColorIndex If (color = colorIndex) Then rng.Locked = True else rng.Locked = false End If Next rng End Sub

Kör skriptet så låser det alla celler som är färgen du anger. Färgkoden du hittade för din färg kommer att ställas in på den här raden i skriptet;
colorIndex = FFFF00
FFFF00 representerar den gula färgen och det är detvad du behöver ersätta med vilken färgkod som gäller för färgen du använder. Vi bör nämna att det är bäst att gå med en grundfärg. När du lägger till detta måste du spara din Excel-fil som en makroaktiverad fil eller så kommer VBA-skriptet inte att spara.
De låsta cellerna kan enkelt låsas upp. Låset är inte ett lösenordsskyddat lås, vilket hindrar andra människor från att ändra värdet på en cell om de vill. Det är ett vanligt lås som förhindrar oavsiktliga ändringar i filen.
kommentarer