VBa script t.a.v. meerder sheets

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

In onderstaande code kan ik macro's in- en uitschakelen en gelijktijdig de beveiliging er op of van af zetten. Dat werkt allemaal prima op één uitzondering na. Wanneer ik het script inschakel, gaat deze alle sheets bij langs en laat dat ook in beeld zien. De boosdoener is onderstaande rode regel. Is het ook mogelijk dat deze code verder intact blijft maar door bijvoorbeeld een toevoeging het systeem niet kortstondig alle sheets optisch bij langs gaat?

Code:
Sub Macroinschakelen()
Dim ws As Worksheet
If [Macro] = waar Then
    'script uitschakelen (voor alle werkbladen)
    For Each Sh In ThisWorkbook.Sheets
        Sh.Unprotect
        Sh.Application.EnableEvents = False
    Next Sh

  Else
    'script inschakelen (voor alle werkbladen)
    For Each Sheet In ThisWorkbook.Sheets
        [COLOR="#FF0000"]Sheet.Protect AllowFiltering:=True[/COLOR]
        Sheet.Application.EnableEvents = True
    Next Sheet
End If
End Sub

Alvast heel hartelijk dank.

Robert
 
zoek in de help naar screenupdating.
 
Ik heb de help (F1) bekeken en mijn code aangepast in:
Code:
    For Each Sheet In ThisWorkbook.Sheets
        [COLOR="#FF0000"]Application.ScreenUpdating = False[/COLOR]
        Sheet.Protect AllowFiltering:=True
        Sheet.Application.EnableEvents = True
    Next Sheet

helaas zie ik geen verschil, ook als ik False in True verander.
 
Ik ook niet in mijn glazen bol.
Code:
Sub Macroinschakelen()
Dim sh As Worksheet
application.screenupdating = false
For Each Sh In ThisWorkbook.Sheets
  If [Macro] = waar Then
        Sh.Unprotect
     else
       Sh.Protect AllowFiltering:=True
   end if
 Next Sh

End Sub
 
Blijf van application.enableevents en protection af: i.e. gebruik ze niet.
Hoe beter de opzet van je werkboek en hoe beter je code, hoe minder je van deze fratsen nodig hebt; zeker als je ze niet volledig doorgrondt.
 
Harry, jouw code werkt perfect. Heel hartelijk dank voor jouw hulp.

SNB hartelijk dank voor jouw uitleg.

Nog fijne paasdagen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan