Goedemiddag!
Ik zit met een vraag. Ik ben bezig met een soort Checklist die je moet kunnen opdelen in categorieën.
Nu wil ik dmv een Checkbox de categorie "openen/sluiten". Voor de artikelen onder die categorie moet de
checkbox gelden als in en uit schakelen.
Nu heb ik (ook van deze site) er een macro in gezet. Maar het wil toch nog niet helemaal lukken.
het lijkt wel of hij die checkbox dingen en geldigheid oid. automatisch veranderd.
Zouden jullie mij verder kunnen helpen svp?
Bvd!
Steve
Map2vraag.xlsm
Stevesh, je loopt weer vast in de gekoppelde cellen je hebt een aantal checkboxen zoals op regel 93 en 121 ev die niet naar dezelfde rij verwijzen als waar ze staan de checkbox op regel 93 verwijst naar A92 en die van rij 121 naar rij 120.
daardoor werkt je macro niet goed dus je moet nog de checkboxen die niet goed werken nalopen en dan gaat het wel lopen ik zou beginnen met de blauwe regels en de regels daar direct boven en onder daar vond ik diverse fouten.
Klopt, hier was ik ook al achter, ik heb dit echter al een aantal allemaal langs gelopen. Het lijkt namelijk wel alsof die checkboxen bij het in en uitschakelen van de categorie (blauwe regel) er "iets" in die checkbox koppelingen veranderd. Ook als ik alle categorieën dicht heb, komt er onderaan in eens een Checkbox bij, is dat de bedoeling? moet dat?
of moet ik misschien andere checkboxen gebruiken? (Active-X ipv wat ik nu gebruik; Formulierbesturingselement)
Alvast bedankt,
Steve
Ik heb enkele verwijzingen aangepast en van al die macro's één enkele gemaakt.
Maar waarom die onderste checkbox tevoorschijn komt bij checken van A270 is mij een raadsel.
Code:Sub categorie1() Application.ScreenUpdating = False With Sheets("Blad1") .Range("A11:A29").EntireRow.Hidden = .Range("A10") .Range("A31:A62").EntireRow.Hidden = .Range("A30") .Range("A64:A92").EntireRow.Hidden = .Range("A63") .Range("A94:A120").EntireRow.Hidden = .Range("A93") .Range("A122:A136").EntireRow.Hidden = .Range("A121") .Range("A138:A151").EntireRow.Hidden = .Range("A137") .Range("A153:A189").EntireRow.Hidden = .Range("A152") .Range("A191:A230").EntireRow.Hidden = .Range("A190") .Range("A232:A245").EntireRow.Hidden = .Range("A231") .Range("A247:A258").EntireRow.Hidden = .Range("A246") .Range("A260:A269").EntireRow.Hidden = .Range("A259") .Range("A271:A281").EntireRow.Hidden = .Range("A270") End With Application.ScreenUpdating = True End Sub
Mvgr. & succes, Cobbe
Heb je een oplossing voor je probleem,
vergeet dan niet de vraag als opgelost te merken.
Cobbe,
thnx voor je hulp! maar ook met jouw .XLSM zit ik met het zelfde probleem.
Het 'dicht'maken van de categorieen lukt opperbest. Maar dan het weer open maken, dat geeft (veel) problemen.
ik ben dus nogsteeds aan het stuntelen met dit Excel document.
ik krijg het maar niet goed werkend.
nogmaals excel toegevoegd Map2.xlsm
hoop dat 1 van jullie begrijpt wat er nou mis is...
alvast bedankt!
steve.
Het werkt perfect als je ALLE checkboxen controleert en toewijst aan de correcte cel in kolom A.
Mvgr. & succes, Cobbe
Heb je een oplossing voor je probleem,
vergeet dan niet de vraag als opgelost te merken.
ik betwijfel het. maar ik ga het nogmaals proberen.
ik laat het horen. thnx anyways.
stevesh,
ik heb maar 1 advies voor je uithuilen en opnieuw beginnen.. wat er fout gaat is dat als je de rijen verbergt alle checkboxen van die verborgen rijen meeschuiven naar boven, dus je hebt dan op bijvoorbeeld op de regel 30 "kleding" ineens een stuk of 25 checkboxen op 1 rij.. als je dan de checkbox aanvinkt is dat niet de checkbox die regel 30 bestuurd maar een hele andere, althans je weet niet welke. Het gebeurd niet op alle rijen.
Daarnaast viel het mij op dat ik de eerste keer 280 als hoogste nummer van selectievakjes tegenkwam en nu zit dat inmiddels op 600+
kortom er gebeuren rare dingen
ik kijk nu naar een andere oplossing om rijen te verbergen en tonen zonder checkboxes
Roel,
thnx voor je hulp
ik heb nét alle checkboxen verwijdert. En ook weer op nieuw erin gezet.
Ik ben nu trouwens bezig met het toewijzen van de checkboxen aan een cel.
wat mij opviel bij het verwijderen is dat bij 'optioneel artikel' soms wel 2 of 3
checkboxen onder elkaar stonden... heel wazig allemaal!
thnx voor je hulp, en let me know als je een andere optie gevonden hebt.
ik kon namelijk zo gauw niets vinden.
thnx, mvg
steve
Ik heb denk ik een goed alternatief voor de checkboxen..
ik maak nu gebruik van de keuze 0 of 1 in kolom B om rijen uit te schakelen of te verbergen
ipv 0 en 1 kan je ook gebruiken "J en N" of "Ja en Nee" of "Yes" en "No" simpel gezegd alles waarvan jij vind dat het logische waarden zijn.
Enige wat je moet aanpassen is de macro is de 0 en 1 voor jou gekozen waardes.
ik heb nu 4 knoppen op het blad gezet om de werking te demonstreren het zijn 4 korte macro's die ook eenvoudig zijn aan te passen als het toepassingsgebied wijzigt
de eerste zorgt dat alle verborgen rijen weer getoond worden
bij onderstaande macro loopt door de gekozen cellen op de regel For i = 10 to 280 vul je simpelweg de eerste (10) en laatste (280) rij in die je wilt laten testen op inhoud.Code:Sub AllesTonen() Range("B10:B280").EntireRow.Hidden = False End Sub
Deze macro test op X, die komt alleen voor in de Categorie regels, dus worden alleen de blauwe regels getoond. (door de X in het bestand dezelfde kleur te geven als de achtergrond zie je de X niet maar doet wel zijn werk tbv de macro
De volgende 2 macro's werken alleen op categorie 1 en werken volgens hetzelfde principe voer de regelnummers voor de categorie in en het doet zijn werk.Code:Sub AlleCategorieDetailsVerbergen() Application.ScreenUpdating = False For i = 10 To 280 If Cells(i, 2).Value <> "X" Then Cells(i, 2).EntireRow.Hidden = True Next End Sub
Code:Sub categorie1_Verbergen() Application.ScreenUpdating = False For i = 11 To 29 With Cells(i, 2) If .Value = 0 Then .EntireRow.Hidden = True If .Value = 1 Or .Value = "" Then .EntireRow.Hidden = False End With Next End Sub
Code:Sub categorie1_Tonen() Application.ScreenUpdating = False For i = 11 To 29 Cells(i, 2).EntireRow.Hidden = False Next End Sub
Eventueel kun je op de cellen in kolom B nog een gegevensvalidatie instellen zodat in de categorie regels (de blauwe) alleen X toegestaan is. en in de detailregels alleen 0 of 1 (of een andere combinatie die jij kiest)
Afijn leef je uit in de bijlage om te zien of dit goed werkt voor jou..
Laatst aangepast door roeljongman : 17 juli 2012 om 16:42
Roel,
Je bent een topper!
het is helemaal gelukt!
dankjewel !
steve.