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

Userform keuze selectievakje onthouden na sluiten userform

  • Onderwerp starter Onderwerp starter TJ86
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

TJ86

Gebruiker
Lid geworden
28 sep 2014
Berichten
127
Hallo,

ik heb een Userform gemaakt genaamd "Divisies".

In dit Userform heb ik een zogenaamd besturingselement "Meerbladig". Dit besturingselement Meerbladig bevat in totaal 10 tabjes.

Op het eerste tabje (genaamd Algemeen) staan 9 Checkboxes. Elk checkbox corresponderend (zelfde naam) als een tabje. Onderstaande
code hangt vast aan elke checkbox:

Code:
Private Sub CheckBox1_Click()
Me.MultiPage1.Pages(1).Visible = IIf(CheckBox1, True, False)
    Sheets("Calculatieblad").Rows("9:258").Hidden = IIf(CheckBox1, False, True)
End Sub

Dit werkt perfect, als ik Checkbox 1 uitvink verdwijnt het correcte tabblad en de genoemde regels van de Worksheet "Calculatieblad" worden verbogen.

Nu het volgende: Voor alle 9 checkboxes werkt dit uitstekend en precies zoals het moet. Maar zodra ik het Userform SLUIT springt alles weer
naar de standaard waarden en wordt alles weer normaal.

Mijn vraag: Hoe kan de Userform 'onthouden' welke checkboxes ik heb uitgevinkt zelfs al sluit ik de Userform. Dus de selectie 'bewaren' bij het sluiten van het userform.
Als ik de userform daarna weer open en wijzigingen aanbreng dat dan díe gegevens worden opgeslagen?

Alvast bedankt!
 
Net zoals je zegt, opslaan bij het sluiten van de userform en lezen bij het openen ervan.
 
Voor zover ik uw vraag begrijp, iets in die richting?
Code:
Private Sub UserForm_Initialize()
With Sheets("Calculatieblad")
If Rows("9:258").EntireRow.Hidden = False Then CheckBox1.Value = True
If Rows("9:258").EntireRow.Hidden = True Then CheckBox1.Value = False
End With
End Sub
 
dotchjack, dankje voor je reactie. Dit lost het helaas niet op.
 
De gedachtegang van Philiep is niet zo verkeerd.
Code:
Private Sub UserForm_initialize()
With Sheets("blad2")
 CheckBox1 = Not .Rows("2:5").Hidden
 CheckBox2 = Not .Rows("10:21").Hidden
End With
End Sub
 
Ik had deze morgen iets in elkaar geprust, maar omdat er nog geen antwoord was van TS heb ik niet doorgestuurd.
Maar bij deze in bijlage, zoals ik de vraag van TS heb begrepen.(ben natuurlijk niet de slimste van de bende:o:D)
 

Bijlagen

Hallo Edmoor, mijn excuses.. ik ben geen expert. Ik volg jouw voorbeeld bestandje en het werkt precies! Dankjewel daarvoor.

Misschien kun je me ook helpen met het volgende;

Ik heb een checkbox met de tekst "Waterijs". Daaronder hangen 2 checkbox (als soort van sub-opties). Als de "hoofdcheckbox" wordt UITgevinkt dan is het de bedoeling dat
de 2 bijbehorende sub-checkboxen ook worden uitgevinkt.

Ik gebruik deze code:
Code:
Private Sub CheckBox1_010_Click()
    Sheets("Calculatieblad").Rows("9:44").Hidden = IIf(Checkbox1_010, False, True)
    Select Case Checkbox1_010.Value
    Case True: Checkbox1_011.Enabled = True
    Case False: Checkbox1_011.Enabled = False
    Case True: Checkbox1_012.Enabled = True
    Case False: Checkbox1_012.Enabled = False
End Select
End Sub

Deze code werkt PRIMA voor Checkbox1_011 maar Checkbox1_012 reageert niet. Moet ik ergens een "AND" ofzo plaatsen??

Gr. Alain
 
Probeer dit eens:
Code:
Private Sub CheckBox1_010_Click()
    Sheets("Calculatieblad").Rows("9:44").Hidden = IIf(Checkbox1_010, False, True)
    Checkbox1_011 = Checkbox1_010
    Checkbox1_012 = Checkbox1_010
End Sub
 
Dit werkt ook! Dankjewel, kan het ook dat als Checkbox1_010 wordt UITgevinkt dat de Checkboxes CheckBox1_011 en Checkbox1_012 worden "gedeactiveerd"?
 
Tuurlijk. Zoiets?
Checkbox1_011.Enabled = Checkbox1_010
 
Dit is vettt! Haha, hier word ik nou blij van! Ik begin me nou een beetje een "zeur" te voelen. Maar als Checkbox1_011 en Checkbox1_012 BEIDEN worden uitgevinkt. Kan dan Checkbox1_010 automatisch worden uitgevinkt? Nogmaals.. alleen als 011 en 012 BEIDEN worden uitgevinkt.
 
Probeer het eens:
Code:
Private Sub CheckBox1_011_Click()
    If Not Checkbox1_011 And Not Checkbox1_012 Then Checkbox1_010 = False
End Sub

Private Sub CheckBox1_012_Click()
    If Not Checkbox1_011 And Not Checkbox1_012 Then Checkbox1_010 = False
End Sub
 
Nu heb ik

Code:
Private Sub UserForm_Initialize()
Checkbox1.value = Sheets("Typegroepen").Range("B2")
Checkbox1_010.value = Sheets("Typegroepen").Range("B3")
Checkbox1_011.value = Sheets("Typegroepen").Range("B4")
Checkbox1_012.value = Sheets("Typegroepen").Range("B5")
Checkbox1_020.value = Sheets("Typegroepen").Range("B6")
Checkbox1_021.value = Sheets("Typegroepen").Range("B7")
Checkbox1_022.value = Sheets("Typegroepen").Range("B8")
Checkbox1_030.value = Sheets("Typegroepen").Range("B9")
Checkbox1_040.value = Sheets("Typegroepen").Range("B10")
Checkbox1_050.value = Sheets("Typegroepen").Range("B11")
Checkbox1_060.value = Sheets("Typegroepen").Range("B12")
Checkbox1_061.value = Sheets("Typegroepen").Range("B13")
Checkbox1_062.value = Sheets("Typegroepen").Range("B14")
Checkbox1_070.value = Sheets("Typegroepen").Range("B15")
Checkbox1_071.value = Sheets("Typegroepen").Range("B16")
Checkbox1_072.value = Sheets("Typegroepen").Range("B17")
Checkbox1_080.value = Sheets("Typegroepen").Range("B18")
Checkbox1_090.value = Sheets("Typegroepen").Range("B19")
Checkbox1_100.value = Sheets("Typegroepen").Range("B20")
Checkbox1_110.value = Sheets("Typegroepen").Range("B21")
Checkbox1_120.value = Sheets("Typegroepen").Range("B22")
Checkbox1_130.value = Sheets("Typegroepen").Range("B23")
Checkbox1_140.value = Sheets("Typegroepen").Range("B24")
Checkbox1_141.value = Sheets("Typegroepen").Range("B25")
Checkbox1_142.value = Sheets("Typegroepen").Range("B26")
Checkbox1_150.value = Sheets("Typegroepen").Range("B27")
Checkbox1_160.value = Sheets("Typegroepen").Range("B28")
Checkbox2.value = Sheets("Typegroepen").Range("B29")
Checkbox2_010.value = Sheets("Typegroepen").Range("B30")
Checkbox2_020.value = Sheets("Typegroepen").Range("B31")
Checkbox2_030.value = Sheets("Typegroepen").Range("B32")
Checkbox2_040.value = Sheets("Typegroepen").Range("B33")
Checkbox2_050.value = Sheets("Typegroepen").Range("B34")
Checkbox2_060.value = Sheets("Typegroepen").Range("B35")
Checkbox2_070.value = Sheets("Typegroepen").Range("B36")
Checkbox2_080.value = Sheets("Typegroepen").Range("B37")
Checkbox2_090.value = Sheets("Typegroepen").Range("B38")
Checkbox2_100.value = Sheets("Typegroepen").Range("B39")
Checkbox2_110.value = Sheets("Typegroepen").Range("B40")
Checkbox2_120.value = Sheets("Typegroepen").Range("B41")
Checkbox3.value = Sheets("Typegroepen").Range("B42")
Checkbox3_010.value = Sheets("Typegroepen").Range("B43")
Checkbox3_020.value = Sheets("Typegroepen").Range("B44")
Checkbox3_030.value = Sheets("Typegroepen").Range("B45")
Checkbox3_040.value = Sheets("Typegroepen").Range("B46")
Checkbox3_050.value = Sheets("Typegroepen").Range("B47")
Checkbox3_060.value = Sheets("Typegroepen").Range("B48")
Checkbox3_070.value = Sheets("Typegroepen").Range("B49")
Checkbox3_080.value = Sheets("Typegroepen").Range("B50")
Checkbox3_090.value = Sheets("Typegroepen").Range("B51")
Checkbox3_100.value = Sheets("Typegroepen").Range("B52")
Checkbox4.value = Sheets("Typegroepen").Range("B53")
Checkbox4_010.value = Sheets("Typegroepen").Range("B54")
Checkbox4_020.value = Sheets("Typegroepen").Range("B55")
Checkbox4_030.value = Sheets("Typegroepen").Range("B56")
Checkbox4_040.value = Sheets("Typegroepen").Range("B57")
Checkbox4_050.value = Sheets("Typegroepen").Range("B58")
Checkbox4_060.value = Sheets("Typegroepen").Range("B59")
Checkbox4_070.value = Sheets("Typegroepen").Range("B60")
Checkbox5.value = Sheets("Typegroepen").Range("B61")
Checkbox5_010.value = Sheets("Typegroepen").Range("B62")
Checkbox5_020.value = Sheets("Typegroepen").Range("B63")
Checkbox5_030.value = Sheets("Typegroepen").Range("B64")
Checkbox5_040.value = Sheets("Typegroepen").Range("B65")
Checkbox5_050.value = Sheets("Typegroepen").Range("B66")
Checkbox5_060.value = Sheets("Typegroepen").Range("B67")
Checkbox5_070.value = Sheets("Typegroepen").Range("B68")
Checkbox6.value = Sheets("Typegroepen").Range("B69")
Checkbox6_010.value = Sheets("Typegroepen").Range("B70")
Checkbox6_011.value = Sheets("Typegroepen").Range("B71")
Checkbox6_012.value = Sheets("Typegroepen").Range("B72")
Checkbox6_020.value = Sheets("Typegroepen").Range("B73")
Checkbox6_030.value = Sheets("Typegroepen").Range("B74")
Checkbox6_031.value = Sheets("Typegroepen").Range("B75")
Checkbox6_032.value = Sheets("Typegroepen").Range("B76")
Checkbox6_033.value = Sheets("Typegroepen").Range("B77")
Checkbox6_034.value = Sheets("Typegroepen").Range("B78")
Checkbox6_035.value = Sheets("Typegroepen").Range("B79")
Checkbox6_040.value = Sheets("Typegroepen").Range("B80")
Checkbox6_041.value = Sheets("Typegroepen").Range("B81")
Checkbox6_042.value = Sheets("Typegroepen").Range("B82")
Checkbox6_050.value = Sheets("Typegroepen").Range("B83")
Checkbox6_060.value = Sheets("Typegroepen").Range("B84")
Checkbox6_061.value = Sheets("Typegroepen").Range("B85")
Checkbox6_062.value = Sheets("Typegroepen").Range("B86")
Checkbox6_070.value = Sheets("Typegroepen").Range("B87")
Checkbox6_071.value = Sheets("Typegroepen").Range("B88")
Checkbox6_072.value = Sheets("Typegroepen").Range("B89")
Checkbox6_073.value = Sheets("Typegroepen").Range("B90")
Checkbox7.value = Sheets("Typegroepen").Range("B91")
Checkbox7_010.value = Sheets("Typegroepen").Range("B92")
Checkbox7_011.value = Sheets("Typegroepen").Range("B93")
Checkbox7_012.value = Sheets("Typegroepen").Range("B94")
Checkbox7_013.value = Sheets("Typegroepen").Range("B95")
Checkbox7_014.value = Sheets("Typegroepen").Range("B96")
Checkbox7_015.value = Sheets("Typegroepen").Range("B97")
Checkbox8.value = Sheets("Typegroepen").Range("B98")
Checkbox8_010.value = Sheets("Typegroepen").Range("B99")
Checkbox8_020.value = Sheets("Typegroepen").Range("B100")
Checkbox9.value = Sheets("Typegroepen").Range("B101")
Checkbox9_010.value = Sheets("Typegroepen").Range("B102")
End Sub

En

Code:
Private Sub UserForm_Terminate()
Sheets("Typegroepen").Range("B2") = Checkbox1.Value
Sheets("Typegroepen").Range("B3") = Checkbox1_010.Value
Sheets("Typegroepen").Range("B4") = Checkbox1_011.Value
Sheets("Typegroepen").Range("B5") = Checkbox1_012.Value
Sheets("Typegroepen").Range("B6") = Checkbox1_020.Value
Sheets("Typegroepen").Range("B7") = Checkbox1_021.Value
Sheets("Typegroepen").Range("B8") = Checkbox1_022.Value
Sheets("Typegroepen").Range("B9") = Checkbox1_030.Value
Sheets("Typegroepen").Range("B10") = Checkbox1_040.Value
Sheets("Typegroepen").Range("B11") = Checkbox1_050.Value
Sheets("Typegroepen").Range("B12") = Checkbox1_060.Value
Sheets("Typegroepen").Range("B13") = Checkbox1_061.Value
Sheets("Typegroepen").Range("B14") = Checkbox1_062.Value
Sheets("Typegroepen").Range("B15") = Checkbox1_070.Value
Sheets("Typegroepen").Range("B16") = Checkbox1_071.Value
Sheets("Typegroepen").Range("B17") = Checkbox1_072.Value
Sheets("Typegroepen").Range("B18") = Checkbox1_080.Value
Sheets("Typegroepen").Range("B19") = Checkbox1_090.Value
Sheets("Typegroepen").Range("B20") = Checkbox1_100.Value
Sheets("Typegroepen").Range("B21") = Checkbox1_110.Value
Sheets("Typegroepen").Range("B22") = Checkbox1_120.Value
Sheets("Typegroepen").Range("B23") = Checkbox1_130.Value
Sheets("Typegroepen").Range("B24") = Checkbox1_140.Value
Sheets("Typegroepen").Range("B25") = Checkbox1_141.Value
Sheets("Typegroepen").Range("B26") = Checkbox1_142.Value
Sheets("Typegroepen").Range("B27") = Checkbox1_150.Value
Sheets("Typegroepen").Range("B28") = Checkbox1_160.Value
Sheets("Typegroepen").Range("B29") = Checkbox2.Value
Sheets("Typegroepen").Range("B30") = Checkbox2_010.Value
Sheets("Typegroepen").Range("B31") = Checkbox2_020.Value
Sheets("Typegroepen").Range("B32") = Checkbox2_030.Value
Sheets("Typegroepen").Range("B33") = Checkbox2_040.Value
Sheets("Typegroepen").Range("B34") = Checkbox2_050.Value
Sheets("Typegroepen").Range("B35") = Checkbox2_060.Value
Sheets("Typegroepen").Range("B36") = Checkbox2_070.Value
Sheets("Typegroepen").Range("B37") = Checkbox2_080.Value
Sheets("Typegroepen").Range("B38") = Checkbox2_090.Value
Sheets("Typegroepen").Range("B39") = Checkbox2_100.Value
Sheets("Typegroepen").Range("B40") = Checkbox2_110.Value
Sheets("Typegroepen").Range("B41") = Checkbox2_120.Value
Sheets("Typegroepen").Range("B42") = Checkbox3.Value
Sheets("Typegroepen").Range("B43") = Checkbox3_010.Value
Sheets("Typegroepen").Range("B44") = Checkbox3_020.Value
Sheets("Typegroepen").Range("B45") = Checkbox3_030.Value
Sheets("Typegroepen").Range("B46") = Checkbox3_040.Value
Sheets("Typegroepen").Range("B47") = Checkbox3_050.Value
Sheets("Typegroepen").Range("B48") = Checkbox3_060.Value
Sheets("Typegroepen").Range("B49") = Checkbox3_070.Value
Sheets("Typegroepen").Range("B50") = Checkbox3_080.Value
Sheets("Typegroepen").Range("B51") = Checkbox3_090.Value
Sheets("Typegroepen").Range("B52") = Checkbox3_100.Value
Sheets("Typegroepen").Range("B53") = Checkbox4.Value
Sheets("Typegroepen").Range("B54") = Checkbox4_010.Value
Sheets("Typegroepen").Range("B55") = Checkbox4_020.Value
Sheets("Typegroepen").Range("B56") = Checkbox4_030.Value
Sheets("Typegroepen").Range("B57") = Checkbox4_040.Value
Sheets("Typegroepen").Range("B58") = Checkbox4_050.Value
Sheets("Typegroepen").Range("B59") = Checkbox4_060.Value
Sheets("Typegroepen").Range("B60") = Checkbox4_070.Value
Sheets("Typegroepen").Range("B61") = Checkbox5.Value
Sheets("Typegroepen").Range("B62") = Checkbox5_010.Value
Sheets("Typegroepen").Range("B63") = Checkbox5_020.Value
Sheets("Typegroepen").Range("B64") = Checkbox5_030.Value
Sheets("Typegroepen").Range("B65") = Checkbox5_040.Value
Sheets("Typegroepen").Range("B66") = Checkbox5_050.Value
Sheets("Typegroepen").Range("B67") = Checkbox5_060.Value
Sheets("Typegroepen").Range("B68") = Checkbox5_070.Value
Sheets("Typegroepen").Range("B69") = Checkbox6.Value
Sheets("Typegroepen").Range("B70") = Checkbox6_010.Value
Sheets("Typegroepen").Range("B71") = Checkbox6_011.Value
Sheets("Typegroepen").Range("B72") = Checkbox6_012.Value
Sheets("Typegroepen").Range("B73") = Checkbox6_020.Value
Sheets("Typegroepen").Range("B74") = Checkbox6_030.Value
Sheets("Typegroepen").Range("B75") = Checkbox6_031.Value
Sheets("Typegroepen").Range("B76") = Checkbox6_032.Value
Sheets("Typegroepen").Range("B77") = Checkbox6_033.Value
Sheets("Typegroepen").Range("B78") = Checkbox6_034.Value
Sheets("Typegroepen").Range("B79") = Checkbox6_035.Value
Sheets("Typegroepen").Range("B80") = Checkbox6_040.Value
Sheets("Typegroepen").Range("B81") = Checkbox6_041.Value
Sheets("Typegroepen").Range("B82") = Checkbox6_042.Value
Sheets("Typegroepen").Range("B83") = Checkbox6_050.Value
Sheets("Typegroepen").Range("B84") = Checkbox6_060.Value
Sheets("Typegroepen").Range("B85") = Checkbox6_061.Value
Sheets("Typegroepen").Range("B86") = Checkbox6_062.Value
Sheets("Typegroepen").Range("B87") = Checkbox6_070.Value
Sheets("Typegroepen").Range("B88") = Checkbox6_071.Value
Sheets("Typegroepen").Range("B89") = Checkbox6_072.Value
Sheets("Typegroepen").Range("B90") = Checkbox6_073.Value
Sheets("Typegroepen").Range("B91") = Checkbox7.Value
Sheets("Typegroepen").Range("B92") = Checkbox7_010.Value
Sheets("Typegroepen").Range("B93") = Checkbox7_011.Value
Sheets("Typegroepen").Range("B94") = Checkbox7_012.Value
Sheets("Typegroepen").Range("B95") = Checkbox7_013.Value
Sheets("Typegroepen").Range("B96") = Checkbox7_014.Value
Sheets("Typegroepen").Range("B97") = Checkbox7_015.Value
Sheets("Typegroepen").Range("B98") = Checkbox8.Value
Sheets("Typegroepen").Range("B99") = Checkbox8_010.Value
Sheets("Typegroepen").Range("B100") = Checkbox8_020.Value
Sheets("Typegroepen").Range("B101") = Checkbox9.Value
Sheets("Typegroepen").Range("B102") = Checkbox9_010.Value
End Sub

En nu krijg ik ineens een "Fout 424 tijdens uitvoering". Object vereist als ik de userform wil openen d.m.v.
Code:
Private Sub CommandButton1_Click()
Typegroep.Show
End Sub
 
Laatst bewerkt:
Dat zegt dat het userform met de naam Typegroep niet bestaat.
 
Ik heb even geprobeerd, maar als die die 2 lappen van codes eruit haal, dan wordt de userform gewoon geopend. Als ik die lappen code weer terugzet dan krijg ik weer die foutmelding.
 
Het is voor mij ondoenlijk om zo te zien waarom.
Je kan dan beter de code even doorlopen met de F8 toets om te zien op welke regel het fout gaat.
Daarnaast denk ik dat die code vele malen korter kan.
 
Laatst bewerkt:
Ik denk dat er teveel regels zijn in de Private Sub. Nu heb ik het geprobeerd om deze met een module op te roepen maar dan werkt de hele code niet meer
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan