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

Beveiliging omzeilen?

Status
Niet open voor verdere reacties.

rotrax

Gebruiker
Lid geworden
20 jun 2003
Berichten
99
Ik heb een probleem waar ik niet uitkom.

In een excell bestand heb ik diverse autofilters. aangezien ik de werkbladen heb beveiligd kan je het autofilter niet meer gebruiken.

daar heb ik, dankzij dit forum de volgende oplossing voor gevonden.

Dim WS As Worksheet
For Each WS In Worksheets
WS.EnableAutoFilter = True
WS.EnablePivotTable = True

WS.Protect contents:=True,userInterfaceOnly:=True
Next WS

Echter zorgt deze oplossing voor een nieuw probleem.

de excell sheet zit gekoppeld aan een aantal .csv bestanden die hij, wanneer het bestand wordt geopend uitleest. Hij probeert dan de data in een sheet aan te passen zodat deze weer actueel is. echter krijg ik nu dus de melding dat deze sheet read only is (logisch, dat wel)

hoe kan ik dit verhelpen?
 
Hoi Rotrax,

Ik weet niet helemaal wat je bedoeling is, maar de onderstaande tekst in de programmacode van het werkblad zetten en het wordt moeilijk om veranderingen aan te brengen in het werkblad, zonder dat het wachtwoord zee in E1 hebt ingevuld.

Private Sub Worksheet_Change(ByVal Target As Range)
Rij = ActiveCell.Row: Kol = ActiveCell.Column
If Range("B2")<> Cells(Rij, Kol) And Range("E1")<> "zee" And ActiveCell <> Range("E1") Then Cells(Rij, Kol) = Range("B2")
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("B2").Formula = Target.Formula
End Sub

Het macro zet de formule in de cel waar je naar toe gaat in B2 en zet de formule uit B2 weer terug indien in de cel veranderingen worden aangebracht. Om er voor te zorgen dat je toch veranderingen kan invoeren kun je de macro onderbrteken door in E1 de tekst zee te zetten.

Jeroen
 
Het probleem zit hem in de regel

WS.Protect contents:=True,userInterfaceOnly:=True
Next WS

Alle werkbladen worden nu beveiligd terwijl ik eigenlijk alleen een aantal werkbladen wil beveiligen

iemand een idee?
 
Zo iets misschien:

if WS.Name = "naam1" or WS.Name = "naam2" then _
WS.Protect contents:=True,userInterfaceOnly:=True
 
Geweldig!

Ik kan nog maar een ding zeggen,

Ingrid, je bent geweldig!

hartstikke bedankt

groet

rtr
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan