Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Vba code om alle werkbladen te beveiligen en verbergen

1,059 views
Skip to first unread message

Arno

unread,
Aug 2, 2007, 8:54:00 AM8/2/07
to
Ik heb een bestand waarbij ik met 1 druk op de knop alle werkbladen wil
beveiligen en alle werkbladen, op het blad "besturing" na wil verbergen. Hoe
krijg ik de uitzondering voor het blad "besturing" in oderstaande code?

' Beveiliging op sheets aanzetten
Dim mijnBlad As Worksheet
For Each mijnBlad In Worksheets
mijnBlad.Visible = True
mijnBlad.Select
mijnBlad.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True _
, AllowInsertingHyperlinks:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
mijnBlad.Visible = False
Next mijnBlad
'Weergeven dat alle werkbladen beveiligd zijn
MsgBox "Alle werkbladen zijn nu beveiligd", vbOKOnly

(Wigi dit is wat je bedoelde met een lus?)

Krijn

unread,
Aug 2, 2007, 9:04:56 AM8/2/07
to

"Arno" <Ar...@discussions.microsoft.com> schreef in bericht
news:8707EB28-FC08-44BB...@microsoft.com...

Krijn

unread,
Aug 2, 2007, 9:05:44 AM8/2/07
to
For Each mijnBlad In Worksheets
IF mijnBlad.Name <> "Besturing" Then
mijnBlad.Visible = True

"Arno" <Ar...@discussions.microsoft.com> schreef in bericht
news:8707EB28-FC08-44BB...@microsoft.com...

]-[oRus

unread,
Aug 2, 2007, 9:18:48 AM8/2/07
to
Arno vertrouwde ons het volgende toe:

Je kan de oplossing van Krijn kiezen, maar je kan aan het eind ook de
regel opnemen
ActiveWorkbook.Sheets("besturing").Visible

Overigens hoef je de bladen niet te selecteren en visible te maken. Je
kan imho de regels
mijnBlad.Visible = True
mijnBlad.Select
weglaten

Je kan ook werken met With...


' Beveiliging op sheets aanzetten
Dim mijnBlad As Worksheet
For Each mijnBlad In Worksheets

With mijnBlad
.Protect DrawingObjects:=True, Contents:=True, _


Scenarios:=True _
, AllowInsertingHyperlinks:=True,
AllowFiltering:=True, _
AllowUsingPivotTables:=True

.Visible = False
End With


Next mijnBlad
'Weergeven dat alle werkbladen beveiligd zijn
MsgBox "Alle werkbladen zijn nu beveiligd", vbOKOnly

Maar dat is hier (maar 2x) meer cosmetisch, maar wellicht leerzaam.

--

Vriendelijke groeten,

]-[oRus
www.westbrabantsevwg.nl

Arno

unread,
Aug 2, 2007, 9:32:02 AM8/2/07
to
Thanks. Het werkt. Om het blad "besturing" te beveiligen maar zichtbaar te
houden heb ik onderaan erbij geschreven:

Else


mijnBlad.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True _
, AllowInsertingHyperlinks:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True

End If
Next mijnBlad

"Krijn" schreef:

]-[oRus

unread,
Aug 2, 2007, 9:54:44 AM8/2/07
to
Arno vertrouwde ons het volgende toe:

> Thanks. Het werkt. Om het blad "besturing" te beveiligen maar

Dat hoeft niet zo complex.

Hier is nog een variant, waarbij je moet zorgen dat 'besturing' het
eerste blad is.
Sub verberg()

' Beveiliging op sheets aanzetten
Dim mijnBlad As Worksheet

Dim i As Integer

For i = 2 To Worksheets.Count

With Worksheets(i)


.Protect DrawingObjects:=True, Contents:=True, _

Scenarios:=True _
, AllowInsertingHyperlinks:=True,
AllowFiltering:=True, _
AllowUsingPivotTables:=True

.Visible = False
End With

Next i
ActiveWorkbook.Sheets(1).Protect DrawingObjects:=True, Contents:=True,
_


Scenarios:=True _
, AllowInsertingHyperlinks:=True,
AllowFiltering:=True, _
AllowUsingPivotTables:=True

'Weergeven dat alle werkbladen beveiligd zijn


MsgBox "Alle werkbladen zijn nu beveiligd", vbOKOnly


End Sub

Als je alle bladen verbergt, vraag ik me wel af of die beveiliging nog
wel zo nodig is....

Arno

unread,
Aug 2, 2007, 11:00:03 AM8/2/07
to
1 vervolgvraag hierop:
Ik heb de vba code gekoppeld aan command buttons, met de code bij het
Tabblad. Ik heb nu 23 tabbladen waar ik deze code dan zou moeten weergeven.
Kan dat makkelijker? 1x code en dan op 23 tabbladen een button die die ene
code uitvoert?

"]-[oRus" schreef:

]-[oRus

unread,
Aug 2, 2007, 11:05:27 AM8/2/07
to

Zet de code als Sub in een gewone module (dus als macro) en in de
event van de button roep je die sub aan.

]-[oRus

unread,
Aug 2, 2007, 11:07:07 AM8/2/07
to

Voor een gewone button kan je ook direct de macro koppelen. Dan heb je
het event niet nodig.

0 new messages