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

Blad beveiligen lukt niet.

Status
Niet open voor verdere reacties.

Drieband

Gebruiker
Lid geworden
30 dec 2011
Berichten
107
Hallo,
Heb hier op de site een programma gevonden welke ideaal zou zijn voor onze vereniging.
Doch als ik het blad wil beveiligen om zodoende de cursor in cel B4 blijft staan krijg ik een foutmelding.(Fout 1004)
Iemand een oplossing hiervoor?

Dank bij voorbaat.
JhonnyBekijk bijlage Bingo.zip
 
Ja, dan moet je her en der in de macro's het blad unprotecten en protecten, zoals bijvoorbeeld (uitgaande van beveiliging zonder wachtwoord):

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, ActiveSheet.Range("$B$4")) Is Nothing Then
    ActiveSheet.Unprotect
    For Each cl In ActiveSheet.Range("$E$3:$N$11")
        If cl = ActiveSheet.Range("$B$4") Then cl.Interior.ColorIndex = 3
    Next
    Call ControleerWeek(Range("$B$2").Value)
    ActiveSheet.Protect
    
End If

End Sub
 
Nee ben helemaal niet thuis in deze materie.
Zoals ik al zei heb ik het programma gedownload van hieruit dus waar wat moet komen:geen enkel idee.
Toch bedankt van jullie reactie.
 
Via ALT-F11 kom je in het VBE menu.
Klik in dat menu op CTRL-R. Links verschijnt dan het projectmenu.

Klik met de rechtermuisknop op de betreffende werkblad en kies voor Programmacode weergeven.
Plak daar de code in.

@MarcelBeug.
Je bent nog wat code vergeten.

Met vriendelijke groet,


Roncancio
 
@MarcelBeug. Je bent nog wat code vergeten.
Nee hoor: "zoals bijvoorbeeld". :cool:

Bovendien ging ik offline, maar nu ik weer terug ben, kijk ik er nog even naar en loop tegen het volgende aandachtspunt aan: als alleen B4 wordt vrijgegeven, dan kan het weeknummer in B2 niet meer ingevuld worden.
Maar als ook B2 vrijgegeven wordt, dan springt de cursor naar B2 als je in B4 iets invult (tenzij je dat bevestigt met Ctrl+Enter, hetgeen overigens een alternatief is voor beveiliging...).

Onderstaand aangepaste codes die het m.i. mogelijk maken met een beveiligd werkblad te werken.

Het stuit mij tegen de borst om een gewijzigde versie van andermans toepassing te uploaden...

Mijn voorstel zou zijn om eerst te proberen om met een onbeveiligd werkblad de invoer in B4 te bevestigen met Ctrl+enter, zodat de cursor in B4 blijft staan.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, ActiveSheet.Range("$B$4")) Is Nothing Then
    On Error GoTo Errorhandler
    ActiveSheet.Unprotect
    For Each cl In ActiveSheet.Range("$E$3:$N$11")
        If cl = ActiveSheet.Range("$B$4") Then cl.Interior.ColorIndex = 3
    Next
    Call ControleerWeek(Range("$B$2").Value)
Errorhandler:
    ActiveSheet.Protect
    
End If

End Sub

en:

Code:
Sub resetten()
    Dim nTeller As Integer
    Application.Unprotect
    On Error GoTo Errorhandler
        nTeller = 0
    Range("E3:N11").Interior.ColorIndex = 55
    With Sheets("WEEK" & ActiveSheet.Range("$B$2")).Range("$A$2")
        Do While .Offset(nTeller, 0).Value <> ""
            Sheets("WEEK" & ActiveSheet.Range("$B$2")).Range("$B$" & .Offset(nTeller, 0).Row & ":AB" & .Offset(nTeller, 0).Row).Interior.ColorIndex = 0
            Sheets("WEEK" & ActiveSheet.Range("$B$2")).Range("$AC$" & .Offset(nTeller, 0).Row) = 15
            nTeller = nTeller + 1
        Loop
    End With
    nWinnaar = 1
Errorhandler:
    Application.Protect
    
End Sub
 
@MarcelBeug
Ik schreef dat je code was vergeten omdat ik de macro ControleerWeek niet in je code zag maar deze stond dus al in het bestand. (had bestand niet geopend en alleen naar code gekeken).

Met vriendelijke groet,


Roncancio
 
Beide heren bedankt voor jullie hulp.

Marcelbueg,
Ik ga in op je voorstel en gebruik deze,wel zo gemakkelijk.

nogmaals,dank u
Jhonny
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan