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

rijen verberegn met macro, regels invoegen

Status
Niet open voor verdere reacties.

pvana

Nieuwe gebruiker
Lid geworden
11 apr 2012
Berichten
3
Hallo,

Via een macro (gekoppeld aan een knop) heb ik opgenomen dat een aantal rijen zichtbaar worden als ik op dat knopje klik.
Echter wanneer ik daarboven een rij invoeg neemt de macro dit niet mee en woden de verkeerde rijen zichtbaar ls ik op de knop klik. Is dit ook te verhelpen?

alvast bedankt,

Groet Pieter
 
Waarschijnlijk heb je in je macro adressen hard gedefinieerd. Cel-adressen in een macro veranderen niet mee als je rijen of kolommen invoegd (zoals je gewent bent in formules).

Wat ikzelf doorgaans doe is een verborgen kolom aanmaken waarin ik met formules een 1 of 0 laat berekenen. Een 1 als de rij getoond moet worden, een 0 als de rij verborgen moet worden.

Je knop zou dan bijvoorbeeld de volgende code kunnen starten:

Code:
For Each c in Range("A1:A100")
  If c.Value = 1 Then
    c.EntireRow.Hidden = True
  Else
    c.EntireRow.Hidden = False
  End If
Next c
 
Pieter,

welkom op Helpmij.nl.

Het helpt heel erg als je ook een voorbeeldbestand (ontdaan van evt. "gevoelige" info) als bijlage beschikbaar stelt.
 
Pieter,

zorg eerst dat je te verbergen rijen zichtbaar zijn
selecteer dan in bv kolom A de cellen van het te verbergen gebied(in je voorbeeld A7:A11)
geef edeze selectie een naam, bv verborgen (dat kan via invoegen > naam of via het naamvak vlak boven de letter A van kolom A)
wijzig de code in de macro in:
Code:
   Range("verborgen").EntireRow.Hidden = False

zie bijlage
 

Bijlagen

Pieter,

zorg eerst dat je te verbergen rijen zichtbaar zijn
selecteer dan in bv kolom A de cellen van het te verbergen gebied(in je voorbeeld A7:A11)
geef edeze selectie een naam, bv verborgen (dat kan via invoegen > naam of via het naamvak vlak boven de letter A van kolom A)
wijzig de code in de macro in:
Code:
   Range("verborgen").EntireRow.Hidden = False

zie bijlage

Dit is wat ik bedoelde, tnx!
 
Pieter,

zet je dan de status op "opgelost"?
(bovenaan waar je de vraag gestart bent)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan