WisFaq!

\require{AMSmath} geprint op vrijdag 22 november 2024

Automatisch beveiligen van werkblad en resultaat afzonderlijk

Ik heb een reeks van 30 getallen. Bij de invoer van ieder getal afzonderlijk dient dit getal automatisch beveiligd te worden tegen overschrijven. Indien het laatste getal ingevoerd wordt dient het gehele werkblad automatisch beveiligd te worden. Is dit mogelijk in Excel en hoe??

Brigitte
12-6-2007

Antwoord

Beste Brigitte

Het duurde even voor ik zelf een (mogelijke) implementatie gevonden heb.
Het is mogelijk, mits het toepassen van een creatieve werkwijze.

Dit is de VBA-code:
Private Sub Worksheet_Change(ByVal Target As Range)

' Controleer of de cel onbeveiligd is.
If Target.Locked = False Then

' Eerst de beveiliging van het werkblad opheffen
ActiveSheet.Unprotect

' Daarna de veranderde cel vergrendelen
Target.Locked = True

' Vervolgens het werkblad opnieuw beveiligen
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End If

End Sub
Zoals je ongetwijfeld zelf al merkt, wordt telkens één cel meer beveiligd. Deze code zorgt er dus automatisch voor dat het ganse werkblad beveiligd is als alle cellen ingevuld zijn.

Voor een voorbeeld van de code, zie dit bestand.

Ik hoop dat je hiermee iets verder komt!

Martijn
18-6-2007


© 2001-2024 WisFaq
WisFaq - de digitale vraagbaak voor het wiskunde onderwijs - http://www.wisfaq.nl

#51294 - Software - Student universiteit