• 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.

excel sheet beveiligen / beveiliging opheffen met paswoord via macro

Status
Niet open voor verdere reacties.

albundy33

Gebruiker
Lid geworden
8 dec 2008
Berichten
41
Hallo,

ik wil via een macro graag bepaalde gegevens in een excel sheet invoeren,
welke standaard beveiligd hoort te zijn, zodat de eindgebruiker geen verkeerde handelingen kan uitvoeren.
Nu heb ik een macro waarmee ik de beveiliging kan opheffen, de gegevens invoeren, en het blad opnieuw beveiligen.

Sub Macro2()
'
' Macro2 Macro
'
ActiveSheet.Unprotect
Range("W7").Select
ActiveCell.FormulaR1C1 = "1"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Omdat we hier echter nogal wat wijsneuzen hebben, die zonder wachtwoord, dadelijk gaan proberen de beveiliging eraf te halen, wil ik het blad eigenlijk niet beveiligen zonder paswoord.
Is het mogelijk om met een macro het blad te beveiligen / beveiliging opheffen met gebruik van een wachtwoord?
(Ik weet dat we normaal voorbeeld bestandjes meegepost willen hebben, maar dan moet ik tot vanavond wachten om de vraag te stellen, en dan weer op antwoord wachten, gezien het een vrij duidelijk vraag is, lijkt het me in deze niet zo'n probleem?)
 
Is dit niet voldoende?
Code:
Sub test()
ActiveSheet.Unprotect "[COLOR="#008000"]uw wachtwoord[/COLOR]"
[W7] = 1 [COLOR="#008000"]' of uw code[/COLOR]
ActiveSheet.Protect "[COLOR="#008000"]uw wachtwoord[/COLOR]"
End Sub
Vermijd Select, en Activate, werkt alleen vertragend en is bijna altijd overbodig.
 
Kijk in de link van edmoor eens goed naar Userinterfaceonly, dan geen wachtwoord in de code nodig en hoef je ook niet steeds de beveiliging erop te zetten en eraf te halen
 
Private Sub ProtectEen()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="Jou_Wachtwoord"
End Sub

Sub UnProtectEen()
ActiveSheet.Unprotect ("Jou_Wachtwoord")
End Sub

Werkt prima als je delen van je sheet oegankelijk maakt die moeten worden ingevoerd.
Wel ook even een WW zetten op de module. anders is het zo terug te vinden.

S6 Ronald
 
Als je vaak de beveiliging eraf moet halen en er weer op moet zetten wordt je bestand nogal traag omdat bij Excel 2013 en 2016 de wachtwoordbeveiliging 2000 keer zo traag is als eerdere versies. Laat daarom alleen de eerste keer na openen van het bestand de blad(en) beveiligen met userinterfaceonly:=True. Overigens heb je ook bij toepassing van die optie het wachtwoord wel degelijk nodig.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan