Hoe cellwaarden te beveiligen of vergrendelen op basis van achtergrondkleur?
Stel dat ik een groot werkblad heb en meerdere cellen zijn gevuld met verschillende achtergrondkleuren, nu wil ik de cellen vergrendelen of beveiligen op basis van een bepaalde ingevulde kleur, zoals het vergrendelen of beveiligen van alle cellen met rode kleur. Zijn er goede methoden om deze taak in Excel uit te voeren?
Beveilig of vergrendel celwaarden op basis van achtergrondkleur met VBA-code
Beveilig of vergrendel celwaarden op basis van achtergrondkleur met VBA-code
Bijvoorbeeld, ik wil alle rode cellen vergrendelen en beveiligen om te voorkomen dat andere gebruikers deze celwaarden wijzigen. De volgende VBA-code kan dit voor u oplossen, doe het als volgt:
1. Houd de toetsen ALT + F11 ingedrukt om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module en plak de volgende code in het Modulevenster.
VBA-code: Beveilig of vergrendel celwaarden op basis van kleur:
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
Opmerking: In de bovenstaande code geeft het getal 3 binnen het script colorIndex = 3 de rode cellen aan die ik wil vergrendelen. U kunt dit wijzigen naar een andere kleurindex die u wilt vergrendelen.
3. Druk vervolgens op de F5-toets om deze code uit te voeren, en alleen de rode cellen zijn vergrendeld, terwijl andere cellen ontgrendeld zijn in het gebruikte bereik van het actieve werkblad, zie screenshot:
4. Als u wilt voorkomen dat ze door andere gebruikers worden gewijzigd, hoeft u alleen de functie Werkblad beveiligen toe te passen om dit werkblad te beveiligen.
Tips: Om het kleurindexnummer te verkrijgen, kunt u de volgende door de gebruiker gedefinieerde functie toepassen:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

Ontdek de Magie van Excel met Kutools AI
- Slimme Uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak diagrammen – allemaal aangestuurd door eenvoudige commando's.
- Aangepaste Formules: Genereer op maat gemaakte formules om uw workflows te versnellen.
- VBA-codering: Schrijf en implementeer VBA-code moeiteloos.
- Formule-uitleg: Begrijp complexe formules gemakkelijk.
- Tekstvertaling: Overbrug taalbarrières binnen uw spreadsheets.
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!