• 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 zichtbaar maken of verbergen bij wijziging

Status
Niet open voor verdere reacties.

Kloosterr

Gebruiker
Lid geworden
21 nov 2016
Berichten
9
Goedemiddag,

Ik zou graag een Excel-werkblad willen creëren waarbij veel rijen verborgen zijn en zichtbaar worden zodra in een bepaalde cel "X" ingevuld wordt.

Is het mogelijk om BV: 3 keuze mogelijkheden te hebben en bij 1 van de 3 X in te vullen, afhankelijk van welke van de 3 worden rijen zichtbaar waar wederom de mogelijkheid ontstaat om X in te vullen bij 3 mogelijkheden?

Is dit mogelijk met een bepaalde macro of iets dergelijks?

Alvast bedankt
 
Ja dat is mogelijk. De code zal je even aan moeten passen naar de eigen situatie.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A3")) Is Nothing Then Exit Sub
  Target.Offset(5).EntireRow.Hidden = Target = "X"
End Sub
 

Bijlagen

  • Rijen verbergen.xlsb
    14,7 KB · Weergaven: 35
Beste VenA,

Kan het ook andersom? Dus als ik X invul dat de rijen zichtbaar worden? En kan je een voorbeeld geven hoe ik dit moet doen om meerdere rijen tegelijk zichtbaar te laten worden?
Kan je me toevallig ook uitleggen waar ik dit exact moet invoeren?

Alvast dank!
 
Target <> "X". Voor de rest lijkt het mij handig dat je even met een eigen bestand komt. Of even de zoekfunctie van dit forum gebruikt.;)
 
Ik ben er inmiddels achter waar het ingevuld moet worden,

Alleen me vraag ligt iets gecompliceerder denk ik.. ik wil namelijk dat alles verborgen blijft en afhankelijk van waar de X komt te staan er rijen zichtbaar worden waar wederom keuzes zijn om rijen zichtbaar te maken
 
Vandaar ook de vraag om een voorbeeldbestandje.
 
Bij deze me voorbeeld, ik hoop dat duidelijk is wat ik bedoel
 

Bijlagen

  • Voorbeeld.xlsx
    8,2 KB · Weergaven: 35
Zoiets?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A3:A4,A6:A9,A10:A12")) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  With Target
    Select Case .Address(0, 0)
    Case "A3", "A4"
      Rows(2 * .Row - 1 + 2 * (.Row - 3) + 1).Resize(3).EntireRow.Hidden = Target <> "X"
    Case "A6", "A7", "A8"
      Rows(2 * .Row + .Row - 4).Resize(2).EntireRow.Hidden = Target <> "X"
    End Select
  End With
  Application.EnableEvents = True
End Sub
 

Bijlagen

  • voorbeeld-4.xlsb
    14,2 KB · Weergaven: 36
Dankjewel, dit is wat ik zocht! Hier kan ik zeker wat mee.

Hebben de getallen die je in het bestand hebt gezet nog een bepaalde functie?
 
Nee. Had ik er even in gezet om de logica van de juiste rijen te bepalen. Anders zou de code een beetje lang worden.:d
 
VenA,
Ik heb toch nog een vraagje naar aanleiding van het verbergen en zichtbaar maken.

Is het mogelijk om meerdere regels die verspreid zijn over het document zichtbaar te maken? En verschillende afstanden?
Hopelijk is het duidelijk in mijn voorbeeld wat ik wil.. Als ik een voorbeeld heb wat ik moet invullen voor de macro kom ik er wel uit.

Alvast dank!
 

Bijlagen

  • Proef voorbeeld macro.xlsb
    12,5 KB · Weergaven: 30
Bv zo

Code:
Range("17:18,23:24").EntireRow.Hidden =
 
Top dat was indd wat ik bedoelde!

Laatste puntje; zie mijn voorbeeld bijlage
 

Bijlagen

  • Voorbeeld.xlsx
    8,2 KB · Weergaven: 32
Dat lijkt mij prima met dezelfde methode te kunnen. Alleen even de rijnummers aanpassen.
 
Succes met stoeien. Denk er wel aan om het bestand als .xlsm of .xlsb op te slaan. Anders ben je de code kwijt.;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan