eigenschap Hidden van klasse Range kan niet worden ingesteld

Status
Niet open voor verdere reacties.

harrybrinkman

Gebruiker
Lid geworden
7 nov 2019
Berichten
95
Toppers,

op een werkblad toon en verberg ik steeds een aantal rijen dmv. een "wisselknop"(togglebutton). Op het zelfde blad staat een knop die de inhoud van een aantal cellen leegmaakt als ik er op klik.
De gebruiker van dit blad mag alleen maar in bepaalde cellen gegevens plaatsen (en met de knop weer verwijderen) en de rest van de cellen zijn geblokkeerd en hangen achter een wachtwoord. Als ik het werkblad handmatig beveilig en voorzie van een wachtwoord moet ik "Rijen Opmaken" aanvinken anders werkt het tonen/verbergen van de rijen daarna niet meer. Tot zover niets aan de hand. Echter als ik het wachtwoord middels VBA verwijder, dan de code voor het leegmaken van de cellen uitvoer, en dan weer middels VBA erop zet werkt daarna de wisseknop niet meer en krijg ik foutcode 1004 tijdens uitvoering: Eigenschap Hidden van Klasse Range kan niet worden ingesteld" en dus kan ik de rijen niet tonen/verbergen. Nu vermoed ik dat ik in de VBA code die het wachtwoord er weer op zet, ook moet aangeven dat "Rijen Opmaken" is toegestaan, maar dat krijg ik nou net niet voor elkaar.
Een heel verhaal, ik hoop het een beetje duidelijk te hebben uitgelegd. Voor de volledigheid stuur ik een proefbestandje mee. Dit is niet het origineel maar de werking is hetzelfde

wie weet raad,

Alvast bedankt,
Harry Brinkman
 

Bijlagen

  • fout in beveiliging.xlsm
    25,2 KB · Weergaven: 44
Doe het eens zo:
Code:
Private Sub ToggleButton1_Click()
    ActiveSheet.Unprotect "test"
    If ToggleButton1.Value = True Then
        Rows("4:9").EntireRow.Hidden = False
    Else
        Rows("4:9").EntireRow.Hidden = True
    End If
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingRows:=True, Password:="test"
    Range("A3").Select
End Sub
 
Of:
Code:
Private Sub ToggleButton1_Click()
    Unprotect "test"
       Rows("4:9").Hidden = ToggleButton1.Value
    Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingRows:=True, Password:="test"
End Sub

Misschien moet het = teken een <> worden, maar dat terzijde.
 
Laatst bewerkt:
Yep! Beter :)
 
het werkt, bedankt

HSV & Edmoor,

Dank jullie. Ik heb gekozen voor de versie van Edmoor omdat in de versie van HSV de wisselknop als "ingedrukt" wordt weergegeven als de gegevens "hidden" zijn. In de Edmoor variant kan ik false en true van de knop instellen waardoor de knop "ingedrukt" wordt weergegeven als de gegevens niet "hidden" zijn.

ps. mogelijk kan dat ook in de HSV variant maar zover reikt mijn kennis niet om dat aan te passen :(

Bedankt,
Harry
 
Die False en True heb je dus niet nodig.
Deze regel:
Code:
Rows("4:9").Hidden = ToggleButton1.Value
haalt die False of True al van ToggleButton1
Vandaar dat ik zei dat die beter is.
 
Ik vermoed dat dit bedoeld wordt, zoals ik al bijgeschreven had in mijn vorige reactie.

Code:
Private Sub ToggleButton1_Click()
    Unprotect "test"
       Rows("4:9").Hidden [SIZE=4][COLOR=#ff0000]<> [/COLOR][/SIZE]ToggleButton1.Value
    Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingRows:=True, Password:="test"
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan