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

Verbergen en zichtbaar maken regels met afhankelijkheid checkbox

Status
Niet open voor verdere reacties.

PatrickT22

Gebruiker
Lid geworden
25 mrt 2016
Berichten
17
Ik wil het volgende bereiken.

Bij het aanklikken van checkbox 1 moeten regel 3 t/m 5 en regel 8 zichtbaar worden
Bij het aanklikken van checkbox 2 moeten regel 3 t/m 5 en regel 9 zichtbaar worden

Als alle twee de checkboxen uit zijn moeten alle voornoemde regels verborgen worden
Als alleen checkbox 1 uitgeklikt wordt moet alleen regel 8 verborgen worden
Als alleen checkbox 2 uitgeklikt wordt moet alleen regel 9 verborgen worden

Zie het bijgaande voorbeeld, waarbij de laatste twee voorwaarden niet werkt.

Kan het uberhaubt wat ik wil? En zo ja, hoe?
 

Bijlagen

Beste,

Ik denk dat je checkboxen van de de categorie activeX-besturingselementen moet gebruiken. Dan kan je ahv de code achterhalen of ze aangevinkt zijn of niet en ahv het resultaat regel 8 of 9 verbergen.
 
het probleem met jou code is dat je 2 naambereiken hebt die elkaar overlappen
en dat je een vba code hebt die steeds de property .hidden van true naar false zet.

wat je moet doen is gescheiden naambereiken maken (zonder naambereiken zou zelfs ook kunnen)
en dan per set instellen of ze getoond moeten worden of niet.

om te bepalen wat getoond moet worden heb ik ook de waarde van het besturingselement 1 gekoppeld aan cel B1 en element 2 aan C1
(je kunt zelf bepalen waar je dat zet en kan uiteraard ook die cellen verbergen zodat je de waar of onwaar waardes niet ziet)

Bekijk bijlage Kopie van Verbergen en zichtbaar maken-1.xlsm

de code kan korter, maar dit is denk iets beter te begrijpen wat er gebeurd.
 
Ik vind de activeX vinkvakken ook wat prettiger om mee te werken.

De code is te reduceren tot
Code:
Sub VenA()
    Range("3:5,8:9").EntireRow.Hidden = CheckBox1 + CheckBox2 = 0
    Rows(8).Hidden = CheckBox1 = 0
    Rows(9).Hidden = CheckBox2 = 0
End Sub

Misschien nog wel even aanpassen naar de gedefinieerde namen

Met voor een vinkvak
Code:
Private Sub CheckBox1_Click()
    VenA
End Sub
 

Bijlagen

Lastig met die activeX controls is dat je OF voor iedere checkbox een aparte event routine nodig hebt, OF een klasse module die je aan iedere control moet koppelen. Zolang het er een paar zijn is dat eerste geen probleem, maar bij veel is dat vervelend. EN klasse modules is voor de meeste normale stervelingen een trede te hoog :-)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan