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

Macro beveiliging + beperkt celbereik bewerken op alle tabbladen

Status
Niet open voor verdere reacties.

Sneezie

Gebruiker
Lid geworden
25 jul 2009
Berichten
5
Hallo,

ik heb 1 grote excelfile met een 30-tal tabbladen waar verschillende users slechts een beperkt aantal cellen mogen invullen. Dmv onderstaande macro kan ik alle tabbladen gelijktijdig beveiligen:

Sub BeveiligSheets()
For Each ws In ActiveWorkbook.Sheets
ws.Protect Password:="hier je eigen password"
Next ws
End Sub

Sub OnBeveiligSheets()
For Each ws In ActiveWorkbook.Sheets
ws.Unprotect Password:="hier je eigen password"
Next ws
End Sub

Via "Extra - beveiliging" kunnen users de beveiliging afzetten door het paswoord in te geven => is OK
Maar door de macro OnBeveiligsheets uit te voeren, kunnen users de beveiliging afzetten zonder het paswoord in te geven => is niet OK.

Hoe kan ik deze macro beveiligen zodat users de beveiliging niet kunnen afzetten zonder het paswoord in te geven?

Hoe kan ik in een macro voorzien dat users enkel in het bereik A1 tot C5 (bijvoorbeeld) waarden kunnen ingeven (dit bereik is in ieder tabblad hetzelfde)? Is het mogelijk dat deze waarden ook geen links kunnen zijn naar andere workfiles (dus effectief enkel een bepaalde value)?

Bedankt!
 
Beveilg je volledige blad , selecteer die cellen dat ze mogen bewerken < rechtermuisklik en haal daar de beveiliging weg > zet je paswoord of voer je macro uit . vb zonder macro enkel bladbeveiliging
 

Bijlagen

Beveilg je volledige blad , selecteer die cellen dat ze mogen bewerken < rechtermuisklik en haal daar de beveiliging weg > zet je paswoord of voer je macro uit . vb zonder macro enkel bladbeveiliging


Maar hoe kan ik dit in een macro steken zodat, indien het bereik ooit wijzigt, ik niet alle 30 tabbladen moet afgaan om de beveiliging af te zetten, het bereik wijzigen en de beveiligng terug op te zetten?
 
Misschien kan je dit stukje code gebruiken:

Sheets("Sheet1").Protect Password:="secret", UserInterFaceOnly:=True

Hierdoor kunnen gebruikers geen cellen weizigen (enkel de cellen die je zelf aangeeft), maar je macro's zullen wel werken! :thumb:
 
Hallo,

kan er mij toech iemand verderhelpen om via een macro het te bewerken bereik makkelijk aan te passen zodat ik dit bereik niet tab per tab moet wijzigen?

Bedankt
 
Hallo,

kan er mij toech iemand verderhelpen om via een macro het te bewerken bereik makkelijk aan te passen zodat ik dit bereik niet tab per tab moet wijzigen?

Bedankt

Als op ieder tabblad de range hetzelfde is ! selecteer dan alle tabbladen , dit kanje als volgt doen klik op de uiterste tab , druk op shift hou dze ingedrukt en klik op de andere uiterste tab ( alle tabs worden lichter ) bewerk dan je zichtbaar blad > deze bewerking gaat dan ook voor alle andere tabbalden gebeuren . beveiliging ( paswoord ) dient wel per tabbald . En anders eens kijken achter een macro AcitveSheet.Unprotect (? )
 
Hoe kan ik deze macro beveiligen zodat users de beveiliging niet kunnen afzetten zonder het paswoord in te geven?
VBA code beveiligen;
Bepaalde user alleen deze macro te laten uitvoeren;
Alleen jezelf rechten geven door geen macro te gebruiken voor je beveiliging.


Hoe kan ik in een macro voorzien dat users enkel in het bereik A1 tot C5 (bijvoorbeeld) waarden kunnen ingeven (dit bereik is in ieder tabblad hetzelfde)?
Denk dat deze al door Trucker10 is beantwoord


Is het mogelijk dat deze waarden ook geen links kunnen zijn naar andere workfiles (dus effectief enkel een bepaalde value)?
Kijk eens naar de functie gegevensvalidatie.

Het is vaak beter te werken zonder macros dan met aangezien veel mensen deze uithebben staan en/of niet weten hoe er mee te werken.
 
Hallo Sneezie,

Ik liep tegen een zelfde probleem aan. Heb toen jouw code gebruikt en deze iets uitgebreid.

Ik laat d.m.v een Inputbox waarin je om het wachtwoord vraagt een test uitvoeren of dit hetzelfde wachtwoord is waarmee de macro zelf ook de werkbladen beveiligt. Wordt een verkeerd wachtwoord ingevoerd dan eindigt de macro direct met een Msgbox en wordt de code niet uitgevoerd. Nu kunnen anderen de macro wel selecteren maar zonder het juiste wachtwoord niet activeren.

Nu er alleen nog iets op zien te vinden dat de invoer in de Inputbox gemaskeerd wordt weergegeven (anders zorgen dat anderen niet meelezen tijdens het invoeren van het wachtwoord).

Binnen VBA heb ik ook het project nog beveiligd zodat anderen het wachtwoord niet kunnen aflezen uit de code door het VBA-scherm te openen.

Hopelijk heb je hier iets aan.

Groeten,

Eric

Sub BeveiligingWerkbladenOpheffen()
'
Dim ws As Worksheet
Dim Password As String
Dim Test As String

Password = "JouwWachtwoord"

Test = InputBox("Voer wachtwoord in")

If Test = Password Then

Application.ScreenUpdating = False

For Each ws In ActiveWorkbook.Sheets
ws.Unprotect Password:=Password
Next ws

Application.ScreenUpdating = True
Else
MsgBox ("Wachtwoord is niet juist!")

End If

End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan