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

Vraag mbt. Catogoriseren Excel bestand (MACRO)

Status
Niet open voor verdere reacties.

Stevesh

Gebruiker
Lid geworden
4 jul 2012
Berichten
110
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

Bekijk bijlage 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
 

Bijlagen

  • Map2vraag(cobbe).xlsm
    50,4 KB · Weergaven: 24
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 Bekijk bijlage 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.
 
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

Code:
Sub AllesTonen()

    Range("B10:B280").EntireRow.Hidden = False
    
End Sub

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

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

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

Bijlagen

  • Kopie van Map2-2.xlsm
    43,7 KB · Weergaven: 34
Laatst bewerkt:
Roel,

Je bent een topper!
het is helemaal gelukt!

dankjewel !
steve.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan