• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Beveiligen Excel document

Status
Niet open voor verdere reacties.

hallo222

Nieuwe gebruiker
Lid geworden
3 jul 2020
Berichten
4
Ik ben bezig met het maken van een soort toets, deze maak ik via Excel. Is het mogelijk om zodra je in B2 "klaar" zet dat A1 tot B2 allemaal beveiligd worden? Met het antwoord op vraag 440819 kon ik net niet genoeg om dat te realiseren. Kan iemand me hier bij helpen?
 
Laatst bewerkt:
Welkom op Helpmij.nl!

kun je een linkje naar vraag 440819 toevoegen? Bovendien is het gewenst om een excel (voorbeeld)bestand beschikbaar te maken waarin de beschreven situatie coorkomt, zonder dat het bestand "gevoelige" gegevens bevat.
 
Dat kan met gegevensvalidatie.

Code:
=$A$9<>"klaar"
 
Gegevensvalidatie is niet de bedoeling, je kunt alle antwoorden invullen en daarna bevestig je dat je klaar bent en krijg je je resultaten te zien. Met gegevensvalidatie moet je het goede antwoord geven.
 
Is dat zo? De validatie formule die ik je gaf controleert of er klaar staat in A9. Als dat er staat kan je niets meer wijzigen in het bereik waar je deze validatie op los laat. Probeer in A5:A7 maar iets te wijzigen.
 

Bijlagen

  • Toets.xlsx
    9,7 KB · Weergaven: 42
Als je klaar weghaalt kan dat weer wel.
 
Zet alleen de gewenste cellen op locked (in dit geval A1:B9). Via celeigenschappen -> bescherming -> geblokkeerd.

Vervolgens deze onderstaande code in de worksheet_change.
Wanneer je er een wachtwoord bij wil hebben laat je het rode gedeelte staan en anders laat je het weg

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A9")) Is Nothing Then
    If Target.Value = "Klaar" Then ActiveSheet.Protect [COLOR="#FF0000"]"PW"[/COLOR]
End If
End Sub
 
Laatst bewerkt:
Sommige leerlingen vergeten wel eens een hoofdletter te gebruiken.:d

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A9")) Is Nothing Then
    If LCase(Target.Value) = LCase("Klaar") Then ActiveSheet.Protect "PW"  [COLOR="#008000"] 'of UCase[/COLOR]
End If
End Sub
 
Code:
if target.address = "$A$9" and lcase(target) = "klaar" then protect
 
Beveiligen Klaar

Bedankt allemaal voor de hulp. Met al de codes lukt het me niet, maar met de gegevensvalidatie wel. Nu heb ik daar alleen een klein dingentje voor nodig; hoe zorg je ervoor dat je deze
Code:
=$A$9<>"klaar"
formule omkeert. Nu krijg je dus een waarschuwing (zodat je niet verder kunt) als je klaar intypt maar wat ik wil is dat je een waarschuwing krijgt als je iets anders intypt dan Klaar.
 
Laatst bewerkt:
Dat lijkt me sterk... heb je de gegevensvalidatie dan bij A9 zelf gezet misschien?

Mag het ook een andere (gemakkelijke) richting uit ?
Vervang de cel waar ze "klaar" moeten intypen door een knop die wat mij betreft ook "Klaar" mag heten met als code enkel de beveiliging van het werkblad.
Zelf zou ik voorafgaand het ganse werkblad locked zetten en niet enkel de 'invulrange' (anders kunnen ze nog de opdracht wijzigen :D)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan