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

verschillende opties op werkblad/bladen te beveiligen

  • Onderwerp starter Onderwerp starter Jamez
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Jamez

Gebruiker
Lid geworden
1 apr 2004
Berichten
133
hallo,

Al een halve dag aan het puzzelen, maar het wil niet echt lukken.
In mijn workbook heb ik 5 sheets: sheet1, sheet a,b,c,d,

nu wil ik graag het gehele workbook beveiligen als in sheet 1 cel "a1" een '1' geeft
en enkel per sheet a,b,c of d als sheet 1 niet beveiligt is (in dit geval een "0" geeft) maar ik 1 van die sheets wel wil beveligen als één van hun een "1" geeft bij cel "a1"

iemand een idee>
bij voorbaat dank

groeten
jamez
 
Zoals vaak, een voorbeeldbestandje erbij doen kan misschien wel wat schot in de zaak krijgen.
 
Zoals vaak, een voorbeeldbestandje erbij doen kan misschien wel wat schot in de zaak krijgen.
misschien moeten we vragen dat voor iemand een vraag stelt, het derde sticky tevoorschijn komt.

steven
 
misschien moeten we vragen dat voor iemand een vraag stelt, het derde sticky tevoorschijn komt.

steven

Dan zou je (maar vooral een aantal vragenstellers hier) eens moeten kijken wat je "op je bord krijgt" als je een nieuwe topic wilt starten op www.ozgrid.com/forum. Vooral die rules zijn belangrijk: maak je daar een fout tegen, wordt de topic gewoon gesloten. Ik kan het weten want ben daar een soort van moderator. Zie bijlage

Wigi
 

Bijlagen

  • post op ozgrid2.JPG
    post op ozgrid2.JPG
    89,8 KB · Weergaven: 87
goed voorstel. het vermijdt heel wat ergernissen en onduidelijkheden.

steven
 
reactie

eeuh, ik wou wel gewoon reageren op het verzoek om een voorbeeldbestandje toe te voegen. De discussie gaat me een beetje voorbij. Enfin
ik heb het voorbeeldbestandje tot de essentie van de vraag uitgekleed om zo niet teveel vervuiling te laten optreden.

zie vorige quote, maar samenvattend
als er een 1 staat bij het voorblad dat het gehele werkboek beveiligen. idien een 1 bij de overige bladen enkel dat blad beveiligen.

b.v.d
jamez
 
Zoiets?

in "sheet1":
Code:
Private Sub Worksheet_change(ByVal Target As Range)

If Target.Address = "$A$1" Then
    If Target.Value = 1 Then
    
        ActiveWorkbook.Protect Structure:=True, Windows:=False
        Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("b").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("c").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("d").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Else
        ActiveWorkbook.Unprotect
        Sheets("a").Unprotect
        Sheets("b").Unprotect
        Sheets("c").Unprotect
        Sheets("d").Unprotect
    End If
End If

End Sub

in "a" en de andere sheets (wel telkens het naam veranderen):

Code:
Private Sub Worksheet_change(ByVal Target As Range)

If Target.Address = "$A$1" Then
    If Target.Value = 1 Then
        Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Else
        Sheets("a").Unprotect
    End If
End If

End Sub

Jantje
 
Beste JanJantje,

Alvast erg bedankt.
Enkel is het ook nu zo dat wanneer blad 1 geen "1" heeft in cel A1, de beveiliging bij alle werkbladen eraf is, enkel bij het blad (a,b,c,d of e) waarbij ik in hun A1 cel een 1 invul. alleen deze zou dan beveiligt moeten zijn.

Moet ik voor het correct in werking laten treden van de vb-code het gehele blad beveiligen bij Tools> Protection> protect workbook en dan zowel "structure" als "windows" aanvinken?

bvd
Jamez
 
Beste JanJantje,

Alvast erg bedankt.
Enkel is het ook nu zo dat wanneer blad 1 geen "1" heeft in cel A1, de beveiliging bij alle werkbladen eraf is, enkel bij het blad (a,b,c,d of e) waarbij ik in hun A1 cel een 1 invul. alleen deze zou dan beveiligt moeten zijn.
ff kijken...
Moet ik voor het correct in werking laten treden van de vb-code het gehele blad beveiligen bij Tools> Protection> protect workbook en dan zowel "structure" als "windows" aanvinken?

bvd
Jamez
Het "aanvinken" kan ook met VBA door "True" en "False" te zetten.
bvb
Code:
ActiveWorkbook.Protect Structure:=True, Windows:=False
nu staat structure "aangevinkt" en windows "uitgevinkt".

Jantje
 
Beste Jamez,

Ik heb iets mekaar geknutseld.

Als je in sheet1 "A1" een 0 invult. Dan word alles onbeveiligt. Als er dan een 1 staat in de andere sheets. Dan blijven deze beveiligt.

Dit betekent ook dat je bij de beveiligde sheets, het beveiliging manueel moet afzetten :confused:

Ik zou niet weten hoe het anders moet...

in sheet1:
Code:
Private Sub Worksheet_change(ByVal Target As Range)

Select Case Target.Address = "$A$1"

    Case Target.Value = 1

        ActiveWorkbook.Protect Structure:=True, Windows:=False
        Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("b").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("c").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("d").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        
    Case Target.Value = 0
         ActiveWorkbook.Unprotect
    
         If Sheets("a").Range("A1").Value = 1 Then
            Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("a").Unprotect
         End If
         
         If Sheets("b").Range("A1").Value = 1 Then
            Sheets("b").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("b").Unprotect
         End If
         
         If Sheets("c").Range("A1").Value = 1 Then
            Sheets("c").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("c").Unprotect
         End If
         
         If Sheets("d").Range("A1").Value = 1 Then
            Sheets("d").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("d").Unprotect
         End If
            
   End Select

End Sub

andere sheets = zelfde code als vorige post, maar dan "a" telkens veranderen

Jantje
 
Laatst bewerkt:
Beste Jamez,

Ik heb iets mekaar geknutseld.

Als je in sheet1 "A1" een 0 invult. Dan word alles onbeveiligt. Als er dan een 1 staat in de andere sheets. Dan blijven deze beveiligt.

Dit betekent ook dat je bij de beveiligde sheets, het beveiliging manueel moet afzetten :confused:

Ik zou niet weten hoe het anders moet...

in sheet1:
Code:
Private Sub Worksheet_change(ByVal Target As Range)

Select Case Target.Address = "$A$1"

    Case Target.Value = 1

        ActiveWorkbook.Protect Structure:=True, Windows:=False
        Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("b").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("c").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets("d").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        
    Case Target.Value = 0
         ActiveWorkbook.Unprotect
    
         If Sheets("a").Range("A1").Value = 1 Then
            Sheets("a").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("a").Unprotect
         End If
         
         If Sheets("b").Range("A1").Value = 1 Then
            Sheets("b").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("b").Unprotect
         End If
         
         If Sheets("c").Range("A1").Value = 1 Then
            Sheets("c").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("c").Unprotect
         End If
         
         If Sheets("d").Range("A1").Value = 1 Then
            Sheets("d").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         Else
            Sheets("d").Unprotect
         End If
            
   End Select

End Sub

andere sheets = zelfde code als vorige post, maar dan "a" telkens veranderen

Jantje



Beste Jantje,
Ik ben hiermee al een aardig eind op weg! erg bedankt voor alles

groeten
jamez
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan