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

Rijen/ kolommen verbergen met bladbeveiliging aan

Status
Niet open voor verdere reacties.

tThye

Gebruiker
Lid geworden
16 dec 2010
Berichten
44
Goedemorgen,

In excel heb ik de volgende werkende code staan:

Code:
Private Sub Worksheet_Activate()

    ActiveWindow.ScrollColumn = 1
    ActiveWindow.ScrollRow = 1
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = True
    End With
    
    Application.ScreenUpdating = False
    Range("C12:D12,C38:D38").Select
    Selection.EntireRow.Hidden = False

    If Range("$A$1") = 1 Then Range("C12:H12,C38:D38").Select
    If Range("$A$1") = 1 Then Selection.EntireRow.Hidden = True
    If Range("$A$1") = 1 Then Range("E6").Select
    
    If Range("$A$1") = 2 Then Range("E6").Select
    Application.ScreenUpdating = True
    
End Sub

Wanneer ik nu de bladbeveiliging aan zet krijg ik een foutmelding in VBA (zie figuur)!

Ik vind het logisch dat beveiligde cellen niet verborgen kunnen worden, maar er moet toch een manier zijn om deze te omzeilen via aanpassing van de VBA-code. Of misschien moet ik bij het beveiligen van het blad iets wel of niet toestaan.

Ik hoor graag wie de oplossing heeft. Alvast mijn dank.

Groeten,

Mark

Foutmelding.JPG
 
Door de beveiliging in het begin op te heffen en nadien weer in te stellen:

Code:
Private Sub Worksheet_Activate()
Activesheet.UnProtect Password:="GEHEIM"
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.ScrollRow = 1
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = True
    End With
    
    Application.ScreenUpdating = False
    Range("C12:D12,C38:D38").Select
    Selection.EntireRow.Hidden = False

    If Range("$A$1") = 1 Then Range("C12:H12,C38:D38").Select
    If Range("$A$1") = 1 Then Selection.EntireRow.Hidden = True
    If Range("$A$1") = 1 Then Range("E6").Select
    
    If Range("$A$1") = 2 Then Range("E6").Select
    Application.ScreenUpdating = True
Activesheet.Protect  Password:="GEHEIM"  
End Sub

Succes, Cobbe
 
Door de beveiliging in het begin op te heffen en nadien weer in te stellen:

Code:
Private Sub Worksheet_Activate()
Activesheet.UnProtect Password:="GEHEIM"
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.ScrollRow = 1
    With ActiveWindow
        .DisplayHorizontalScrollBar = False
        .DisplayVerticalScrollBar = True
    End With
    
    Application.ScreenUpdating = False
    Range("C12:D12,C38:D38").Select
    Selection.EntireRow.Hidden = False

    If Range("$A$1") = 1 Then Range("C12:H12,C38:D38").Select
    If Range("$A$1") = 1 Then Selection.EntireRow.Hidden = True
    If Range("$A$1") = 1 Then Range("E6").Select
    
    If Range("$A$1") = 2 Then Range("E6").Select
    Application.ScreenUpdating = True
Activesheet.Protect  Password:="GEHEIM"  
End Sub

Succes, Cobbe

Werkt perfect. Ik had ook niet anders verwacht:p! Bedankt Cobbe!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan