• 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's werken niet na beveiliging

Status
Niet open voor verdere reacties.

pruusje

Nieuwe gebruiker
Lid geworden
2 nov 2009
Berichten
3
Hallo Allemaal,

Misschien kunnen jullie mij helpen. Ik heb een vakantie planning gemaakt (met hulp van Google) en wil het tabblad beveiligen zodat alleen ik de uren kan bewerken. De personeels leden moeten zelf de kalender kunnen invullen. De bedoeling is dat ze eerst een keuze maken om wat voor een soort afwezigheid het gaat. Vervolgens vullen ze in het vakje met de juiste kleur het aantal uren in. Nu wordt rechts in het werkblad het aantal uren uit de juiste kolommen geteld.

Nu werkt alles naar behoren, maar wanneer ik het werkblad beveilig werken de knoppen niet meer om de vakjes een kleur te geven. Als ik een macro opneem en eerst werkblad unprotect en vervolgen weer protect onhoudt hij het wachtwoord niet (macro staat niet meer in file). Heeft iemand een idee hoe ik dit kan fixen? Het wachtwoord voor de file is 12345. Ow ja, het is gemaakt in Excel 2007 maar geconverteerd naar 2003.

Ik hoop dat iemand mij verder kan helpen, want mijn baas staat al in mijn nek te hijgen!

Alvast bedankt!!!!!
 

Bijlagen

Laatst bewerkt:
Hoi Pruusje:

Ben geen VBA-deskundige, maar het eerste dat me te binnen schiet is dit:

Code:
Sub gelekleur_6()
    ActiveSheet.Unprotect Password:="12345"
    Selection.Interior.ColorIndex = 6
    ActiveSheet.Protect Password:="123245"
End Sub

Ik zou wel een beveiliging in VBA erop zetten, want anders kan iedereen bij je macro's èn dus bij je wachtwoord.

Richard
 
Hoi Pruusje:

Ben geen VBA-deskundige, maar het eerste dat me te binnen schiet is dit:

Code:
Sub gelekleur_6()
    ActiveSheet.Unprotect Password:="12345"
    Selection.Interior.ColorIndex = 6
    ActiveSheet.Protect Password:="123[COLOR="Red"]2[/COLOR]45"
End Sub

Ik zou wel een beveiliging in VBA erop zetten, want anders kan iedereen bij je macro's èn dus bij je wachtwoord.

Richard

Het werkt!!! Ik had jouw code i.p.v. mijn code gezet, maar hij deed het maar één keer en toen kon ik mijn file niet meer handmatig unprotecten. Het foutje bleek te zitten in jouw laatste stukje bij het protecten. Hier zat een tikfoutje in waardoor het wachtwoord werd veranderd in 123245.:shocked:

Ik heb hier uren aan besteed door te spelen met soortgelijke codes en als je het ziet is het heel simpel, maar zonder jouw hulp had ik het niet gered. Zo zie je maar, google is niet bij alles de oplossing :) Ik wil je hartstikke bedanken voor je enorm snelle reactie en accurate hulp:thumb::thumb::thumb:

Super!
 
Het nadeel is echter dat indien je macro om een of andere reden stopt je werkblad onbeveiligd achterblijft. Laat je macro's zoals ze zijn en plaats deze in ThisWorkbook
Code:
Private Sub Workbook_Open()
    Sheets("2010").Protect Password:="12345", UserInterfaceOnly:=True
End Sub
Beveiligde cellen kunnen niet gewijzigd worden maar VBA-code krijgt wel doorgang
 
Bedankt voor de tip, daar had ik nog niet aan gedacht. Nu ik toch zoveel feedback krijg, gooi ik er nog een vraagje tegenaan. Ik heb nog een nadeeltje ondekt aan mijn CountColor macro, deze calculeerd namelijk niet opnieuw nadat de gebruiker een nieuwe kleur aan de dag geeft of wanneer ik eerst het aantal uren invul en dan pas de kleur geef.

Als voorbeeld:

Ik markeer eerst de dag als atv (geel) en dan vul ik uren in. Achteraf besluit ik vervolgens dat ik de dag als verlof wil opnemen en verander ik de kleur in Groen. Hij calculeert dan niet opnieuw.

Hoe kan ik dit oplossen?
 
Probeer deze eens
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan