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

Groeperen in macro opnemen

Status
Niet open voor verdere reacties.

Markboefje

Gebruiker
Lid geworden
9 jun 2011
Berichten
8
Beste Lezer,

Is het mogelijk een groepering van rijen te verwerken in een Macro.

In bijgevoegd bestand heb ik even een vereenvoudigde vorm opgezet van.
Ik wil per groep twee macro's aanmaken. Eentje om de groep open te klappen en eentje om dicht te klappen.
En daarin ook te variëren. Bv groep 1-3 en 4 open. Of groep 1 en 4 open. Etc.
De macrobuttons heb ik al gemaakt.

Kunnen jullie mij helpen om de juiste macro('s) hiervoor te maken.
Thnx!

Gr. Mark

Bekijk bijlage Groeperen in macro.xlsx
 
Zie bijlage. Ik heb wel de benaming van je macro-buttons aangepast, zodat dit met 2 macro's te realiseren is.
 

Bijlagen

TOP Rebmog. Thnx voor je snelle reactie :thumb:
In deze opzet werkt het. Nu even kijken of ik het kan omzetten naar m'n initiële bestand :D
En er daarbij achter komen hoe je die marco hebt opgebouwd.

Kan je dat mss nog uitleggen/verwoorden? :d
 
Voor een universeler gebruik heb ik de macro's en buttonnamen iets aangepast. Zorg ervoor dat de knopnamen exact hetzelfde zijn als de inhoud van de naastliggende cel van kolom A (in jouw voorbeeld Groep 1, Groep 2, enz). Dit moeten unieke benamingen zijn. Deze knopnaam moet dan gevolgd worden door een | en een achtervoegsel (bijv "Groep 1|Open" en "Groep 1|Dicht"). De macro zoekt vervolgens in kolom A deze titel op een klapt de onderliggende rijen in of uit.
 

Bijlagen

Oké. Ik begrijp wat je zegt. Dat het beperkt blijft tot twee macro's is handig.
Maar, als de inhoud van de cel (dus Groep 1 wordt Groep 1A) uit kolom A verandert gaat het fout en werkt de macro niet meer?! :confused:

Is het anders te programmeren dat je niet afhankelijk bent van die unieke benaming?
 
Je hebt gelijk, dat is niet handig. Deze code is beter:
Code:
Sub Uitklappen()
    Dim r As Long, btnAddress As String
    btnAddress = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
    r = Range(btnAddress).Row
    On Error Resume Next
    ActiveSheet.Rows(r + 1).ShowDetail = True
End Sub
Code:
Sub Inklappen()
    Dim r As Long, btnAddress As String
    btnAddress = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
    r = Range(btnAddress).Row
    On Error Resume Next
    ActiveSheet.Rows(r + 1).ShowDetail = False
End Sub
 
Yep! Dit werkt. Top.
Ik probeer de code nog te begrijpen, mss kan je nog even uitleggen wat je nu veranderd hebt :D:thumb:
 
De code is eigenlijk rechttoe-rechtaan:
1. cel-adres achterhalen van de knop waarop gedrukt is (om hiermee te kunnen bepalen welke groep precies in- of uitgeklapt moet worden)
2. het cel-adres omzetten naar een rijnummer
3. fouten onderdrukken omdat een anders een foutmelding ontstaat als je een al uitgeklapte groep nogmaals uit wilt klappen of een al ingeklapte groep nogmaals wilt inklappen
4. de eerste te verbergen rij of eerste verborgen rij inklappen dan wel uitklappen. Daardoor wordt dan de hele groep in- of uitgeklapt.
 
Laatst bewerkt:
Nog bedankt voor je antwoord Rebmog, in grote lijnen duidelijk wat je beschrijft.
Het was er even bij ingeschoten om eerdere te reageren.

Van mij mag hier een slotje op.
 
Je kunt zelf de vraag afsluiten door te klikken op "vraag is opgelost" bovenaan het scherm.
Overigens zou je ipv 2 aparte knoppen voor elke groep ook 1 knop kunnen gebruiken.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan