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

Beveiligings-lus voor alle sheets

Status
Niet open voor verdere reacties.

Joost.van.Steeg

Gebruiker
Lid geworden
9 okt 2006
Berichten
138
Ik werk met een behoorlijk aantal sheets, graag zou ik al deze sheets tegelijkertijd willen beveiligen. Ik heb wel een macro voor het beveiligen van 1 sheet, maar ik vroeg mij af of er niet een VBA code is die die al je sheets bij langs gaat (lus) en deze 1 voor 1 beveiligd totdat er geen sheets meer zijn.

Misschien is er ook wel een makkelijkere oplossing voor, dan hoor ik die natuurlijk ook graag :)
 
Hoi Joost.van.Steeg,

Zoiets:
Code:
Sub Macro1()
' Beveiligen
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End Sub

Sub Macro2()
' Beveiliging opheffen
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
    sh.Unprotect
Next
End Sub
 
Hee super,

Precies wat ik bedoelde inderdaad.
Wat ik nu tegen kom is dat wanneer ik de functie link aan een knop, deze alleen werkt binnen dit bestand omdat hij naar een functie verwijst binnen een module van dat bestand. Maar het zou makkelijk zijn als ik de functie binnen alle bestanden zou kunnen oproepen. Is er een algemene Excel Module? Zodat ik de knop standaard in Excel kan gebruiken ?
 
Bedoel je dat je dit in alle excel bestanden wilt kunnen aanroepen.
Dus niet alleen alle werkbladen van 1 excel bestand, maar ieder excel bestand dat je opstart?
 
Euh.

Wat ik niet bedoel is dat wanneer ik de functie aanroep:
Excel kijkt welke bestanden zijn geopend en vervolgens alle bladen van al deze geopende bestanden gaat beveiligen.

Wat ik bedoel is dat wanneer ik de functie aanroep:
Excel van het huidige geopende bestand alle sheets gaat beveiligen.

De huidige situatie als ik de functie aanroep via een menu knop:
Excel voert het volgende uit: 'Bestand1.xlt'!mcrProtectAll

Bovenstaande werkt perfect als ik bestand1 geopend heb, maar zodra ik op de knop druk indien ik werk met bestand2, en bestand1 is niet geopend, dan zal hij de functie niet vinden (deze staat immers in bestand1). De vraag is dus, kan ik deze functie niet in een standaard module opnemen van Excel, die altijd beschikbaar is, ongeacht welk bestand ik open heb staan.
 
Hoi Joost.van.Steeg,

Als je dat wilt hebben dan moet je denk ik met een invoegtoepassing werken (*.xla).

Ik zal een der deze dagen ff kijken of dit lukt. Als het gelukt is dan plaats ik het hier wel.
 
Hoi Joost.van.Steeg,

IK heb er een Xla bestandje van gemaakt. Probeer het maar eens uit.

Het beste kun je het *.Xla bestand in de map Invoegtoepassingen zetten (C:\Documents and Settings\Arno Fransen\Application Data\Microsoft\Invoegtoepassingen)

Arno Fransen is bij jou een ander naam.

Ga dan in Excel naar EXTRA - INVOERTOEPASSINGEN en kies SheetBeveiligen

Je krijgt er dan 3 icoontjes bij.
Met de eerste krijg je een scherm waarmee je kunt kiezen welk venster je wilt beveiligen.
Met de tweede worden alle beveiligingen opgeheven.
Met de derde worden alle beveiliging gezet.

Let wel op. Alle beveiligingen zijn zonder wachtwoord (niet dat die in Excel veilig zijn:D )

Laat maar horen of dit is wat je zocht
 

Bijlagen

Hee, te gek zeg !
Werkt prima. En dat het niet met een wachtwoord beveiligd is maakt in dit geval toch niets uit.

Bedankt !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan