Hoe celwaarden te beveiligen of te 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 beschermen op basis van een bepaalde gevulde kleur, zoals het vergrendelen of beschermen van alle cellen met een rode kleur. Zijn er goede methoden om met deze taak in Excel om te gaan?
Bescherm of vergrendel celwaarden op basis van de achtergrondkleur met VBA-code
Bescherm of vergrendel celwaarden op basis van de achtergrondkleur met VBA-code
Ik wil bijvoorbeeld alle rode cellen vergrendelen en beschermen, om te voorkomen dat andere gebruikers deze celwaarden wijzigen, de volgende VBA-code kan deze taak voor u oplossen, doe dit als volgt:
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: celwaarden beveiligen of vergrendelen 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
Note: In de bovenstaande code, het nummer 3 in de kleurIndex = 3 script geeft de rode kleurcellen aan die ik wil vergrendelen, u kunt deze wijzigen in een andere kleurindex die u wilt vergrendelen.
3. Druk vervolgens op F5 sleutel om deze code uit te voeren, en alleen rode kleurcellen zijn vergrendeld, andere cellen zijn ontgrendeld in het gebruikte bereik van het actieve blad, zie screenshot:
4. Als u wilt voorkomen dat ze door andere gebruikers worden gewijzigd, hoeft u alleen het Bescherm het blad functie om dit werkblad te beschermen.
Tips: om het kleurindexnummer te krijgen, kunt u de volgende door de gebruiker gedefinieerde functie toepassen:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!