Hoe cellen te beschermen op basis van datum in Excel?
Normaal gesproken kunnen we het werkblad beschermen om te voorkomen dat anderen de celwaarden bewerken of wijzigen, maar soms moet u de cellen beschermen op basis van datum. Ik wil bijvoorbeeld andere cellen beschermen, maar alleen toestaan dat de celwaarden van de datum van vandaag worden gewijzigd zoals in de volgende schermafbeelding wordt getoond, in dit artikel wordt besproken hoe cellen kunnen worden beschermd op basis van datum.
Bescherm alle rijen behalve de datumrij van vandaag met VBA-code
Bescherm alle rijen waarop de datum is verstreken met VBA-code
Bescherm alle rijen behalve de datumrij van vandaag met VBA-code
Sta alleen de rij toe die gelijk is aan de datum van vandaag, de volgende code kan u helpen, doe dit als volgt:
1. Klik met de rechtermuisknop op de bladtab waarvan u de cellen wilt beschermen op basis van datum en kies vervolgens Bekijk code vanuit het contextmenu, in de pop-out Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege module:
VBA-code: bescherm alle rijen behalve de datumrij van vandaag:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
Note: In de bovenstaande code, de letter E is de kolomkop waar de datum zich bevindt, "111111”Is het wachtwoord om dit blad te beschermen. U kunt ze naar wens aanpassen.
2. Sla vervolgens dit codevenster op en sluit het.
(1.) Als u op andere cellen klikt dan de datumrij van vandaag, verschijnt er een promptvenster om u eraan te herinneren dat de cel niet kan worden bewerkt, zie screenshot:
(2.) Als u klikt en de rij bewerkt die gelijk is aan de datum van vandaag, wordt deze met succes gewijzigd, zie screenshot:
Bescherm alle rijen waarop de datum is verstreken met VBA-code
Als u alle rijen moet beveiligen waarvan de datum is verstreken, alleen toestaan dat de rijen van vandaag en toekomstige datum worden gewijzigd, pas dan de volgende VBA-code toe:
1. Klik met de rechtermuisknop op de bladtab waarvan u de cellen wilt beschermen op basis van datum en kies vervolgens Bekijk code vanuit het contextmenu, in de pop-out Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende code in de lege module:
VBA-code: bescherm alle rijen datum is verstreken:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
Note: In de bovenstaande code, het nummer 5 is het kolomnummer waar de datum zich bevindt, "111111”Is het wachtwoord om dit blad te beschermen. U kunt ze naar wens aanpassen.
3. Sla vervolgens dit codevenster op en sluit het.
(1.) Als u op de celdatum klikt, verschijnt er een promptvenster om u eraan te herinneren dat de cel niet kan worden bewerkt, zie screenshot:
(2.) Als u op de cel met rijen klikt om te proberen de waarden in de datum van vandaag of in de toekomst te wijzigen, wordt deze met succes gewijzigd, zie screenshot:
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!