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

Autofilter werkt niet bij beveiligd werkblad

Status
Niet open voor verdere reacties.

Garfield21

Gebruiker
Lid geworden
21 mrt 2008
Berichten
6
Met behulp van een macro print ik een reeks werkbladen waarbij alleen de regels waar in een bepaalde kolom waarden zijn weergegeven, worden afgedrukt. Blanco regels worden dus niet afgedrukt.

Wanneer ik echter de werkbladen beveilig om te voorkomen dat gebruikers ongeautoriseerde wijzigingen aanbrengen, werkt de macro niet meer.

Weet iemand iets om dit te omzeilen?
 
Zet deze code in je werkboek:

Code:
Private Sub Workbook_Open()
  With Sheets("Blad1")
    .Protect UserInterfaceOnly:=True
    .EnableAutoFilter = True
  End With
End Sub

Pas wel de naam van je blad(en) aan.

Cobbe
 
Of zet aan het begin van je macro (in ieder sheet)
Code:
ActiveSheet.Protect
en aan het eind:
Code:
ActiveSheet.Unprotect
Ron
 
Cobbe, bedankt!
De gebruiker wordt nu echter bij elk tabblad gevraagd om het wachtwoord op te geven om de beveiliging ongedaan te maken. De gebruiker weet dit wachtwoord niet want die heb ik als ontwerper van het document toegevoegd zodat de gebruiker geen geautoriseerde wijzigingen kan doorvoeren.

Een andere optie?
 
Ik snap het niet doed, denk ik.
Welk nut heeft een beveiliging als de gebruiker dat telkens wil/moet opheffen?

Cobbe
 
Of zet aan het begin van je macro (in ieder sheet)
Code:
ActiveSheet.Protect
en aan het eind:
Code:
ActiveSheet.Unprotect
Ron

Daar staat dus een foutje in; moet zijn

Aan het begin:
ActiveSheet.Unprotect Password = "blabla"

Aan het eind
ActiveSheet.Protect Password = "blabla"

Ron
 
Die methode met de protectie in het begin op te heffen en op het laatste terug aan te zetten, gaat wel werken. Maar het voorstel van Cobbe om te werken met userinterface=true icm de protectie lijkt me beter.

Die userinteface=true zorgt er juist voor dat VBA code wel toegang heeft tot je sheet, maar manuele handelingen uitgesloten kunnen worden.
Door de sheet op deze manier te beveiligen zit je ook niet te klungelen met het passwoord probleem.
 
Thanx!

Een ieder bedankt voor de tips. Uiteindelijk heb ik de tip van Ron gevolgd. Werkt prima! Bedankt Ron!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan