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

Uitdaging!! Automatisch beveiligen

Status
Niet open voor verdere reacties.

Mcstupid

Gebruiker
Lid geworden
11 feb 2011
Berichten
81
Hallo!

Ik heb een blad dat ik beveiligd heb maar in een cel wordt het weeknummer wekelijks veranderd.
Momenteel kan deze wel bewerkt worden omdat ik de "celeigenschappen" heb aangevinkt.
Heb ik deze uit staan, geeft ie een foutmelding in VBA.
Logisch :)

Zo heb ik ook een issue met de werkmap...:cool:

Om het verhaal kort te houden:

Is het uberhaupt mogelijk om van een werkmap eerst de beveiliging op te heffen, dan de beveiliging van het blad op te heffen, vervolgens weer het blad te beveiligen en daarna de werkmap met een opgegeven wachtwoord? Of desnoods zonder wachtwoord.


gr,
Roelof

Heb hier het resultaat van al mijn vragen in de overige topics :D
Bekijk bijlage Voor Forum.xlsm
 
Laatst bewerkt:
Volgens mij zijn al deze functies beschikbaar. Nu heb ik niet de andere topics gevolgd, maar waar loop je precies vast?

Code:
ActiveWorkbook.Protect ...
ActiveWorkbook.UnProtect ...
ActiveSheet.Protect ...
ActiveSheet.Unprotect ...
 
ik loop nog niet vast. heb het nog niet geprobeerd.
Maar waar moet ik deze invoeren in mijn vba code?
 
ik neem aan voor en na de rest van de code ;)

Je zult natuurlijk het password van beide moeten meegeven met deze commando's. Het gebruik en de opties voor deze functies kun je vinden in de windows help. Ook kun je even het forum doorzoeken op deze functies. Er staan letterlijk 100'en voorbeelden op het forum (zojuist even gekeken)
 
Ik was iets te snel. Heb het geprobeerd maar krijg het niet voor elkaar...
Code:
Private Sub CommandButton1_Click()
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
    NewSheet = "WEEK" & " " & WEEKNR(Date + 7)
    used = False
    For ws = 1 To Worksheets.Count
        If Right(Sheets(ws).Name, 3) = Right(NewSheet, 3) Then used = True
    Next
    If used = False Then
        With Sheets("Opbrengst")
            .Visible = True
            .Copy After:=Sheets(Sheets.Count)
            .Visible = Flase
        End With
        With Sheets(Sheets.Count)
            .Name = NewSheet
            .[B2] = WEEKNR(Date + 7)
        End With
    Else
        MsgBox "Nieuwe week is al aangemaakt!": Exit Sub
    End If
ActiveSheet.Protect
ActiveWorkbook.Protect
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan