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

cellen verbergen (verduidelijkt)

Status
Niet open voor verdere reacties.

trylogica

Gebruiker
Lid geworden
19 dec 2009
Berichten
17
Hallo mede excellers :D

De eerste vraag die ik stelde was misschien niet duidelijk genoeg, ondanks de goede tips en oplossingen kwam ik er niet verder mee. Toch wil ik jullie bedanken voor de reacties :thumb:

Bovendien had ik niet vermeld dat ik werk met excel 2003 (dat vermelden is mss wel zo handig)

De meer specifieke vraag is: als ik een keuze lijst heb, en ik wil dat alleen bij keuze 1 de onderliggende rijen worden verborgen, maar bij keuze 2 t/m 5 zichtbaar blijven wat moet de vba code dan zijn om de macro te laten werken die ik op de keuzelijst wil zetten?

Als voorbeeld heb ik weer een bestandje bijgevoegd :o

Alvast bedankt voor het meedenken en helpen oplossen van dit probleem:thumb:

Trylogica
 

Bijlagen

Laatst bewerkt:
Beste trylogica ;)

Welk bestandje :D

Groetjes Danny. :thumb:
 
Beste trylogica ;)

Plaats deze code in de VBA editor in BLAD1 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If [H5] = "keuze 1" Then

    Rows("6:11").Hidden = True
    
Else: Rows("6:11").Hidden = False

End If

End Sub

Groetjes Danny. :thumb:
 
Laatst bewerkt:
Dank voor de code, hij werkt!

Maar....................als ik meerdere keuzelijsten in blad 1 heb staan en ikwil daar een soortgelijke macro bij uitvoeren, kan dat dan en moet ik die code dan ook in werkblad 1 plaatsen? Ik heb dat geprobeerd (heb de bereiken aangepast) maar dan krijg ik een compileerfout:

Er is een dubbelzinnige naam gevonden: Worksheet_Change

groeten Trylogica :o
 
Beste trylogica ;)

Je kan een nieuwe If plaatsen onder de Else VB. :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If [H5] = "keuze 1" Then

    Rows("6:11").Hidden = True
    
Else: Rows("6:11").Hidden = False

If [H15] = "keuze 1" Then

    Rows("16:21").Hidden = True
    
Else: Rows("6:11").Hidden = False

End If
End If

End Sub

Groetjes Danny. :thumb:
 
ahhhh, tof:D

Zo kan ik dus net zoveel macro's maken als er keuzes zijn in een werkblad!

Heel erg bedankt voor de oplossing Danny:thumb:
 
Beste trylogica ;)

Je kan een nieuwe If plaatsen onder de Else VB. :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If [H5] = "keuze 1" Then

    Rows("6:11").Hidden = True
    
Else: Rows("6:11").Hidden = False

If [H15] = "keuze 1" Then

    Rows("16:21").Hidden = True
    
Else: Rows("6:11").Hidden = False

End If
End If

End Sub

Groetjes Danny. :thumb:

Danny,

Jij en Roncancio zijn hier veel beter in dan ik, maar de code van Roncancio lijkt me korter en makkelijker.
Anders hoor ik graag wat het verschil is dan leer ik ook weer wat.

Hieronder het bestand en dan met meerdere keren de code er in.

Groeten,
Jacques
 

Bijlagen

@trylogica
Wellicht ten overvloede maar je kunt maar 1 Worksheet_Change in en werkblad hebben staan. Echter in die Worksheet_Change kunnen heel veel coderegels zitten.

@Revdutchi
Er is geen echt verschil. Het hangt er maar vanaf wat je het prettigste vindt werken.
Het zou dan zo kunnen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Rows("6:11").Hidden = [H5] = "keuze 1"
Rows("16:21").Hidden = [H15] = "keuze 1"

End Sub

Met vriendelijke groet,


Roncancio
 
@Revdutchi
Er is geen echt verschil. Het hangt er maar vanaf wat je het prettigste vindt werken.
Het zou dan zo kunnen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Rows("6:11").Hidden = [H5] = "keuze 1"
Rows("16:21").Hidden = [H15] = "keuze 1"

End Sub

Klopt, zo heb ik mijn voorbeeld bestandje hierboven ook gemaakt.

Groeten,
Jacques
 
Iedereen ontzettend bedankt voor jullie aangedragen oplossingen, alles werkt zoals ik het bedoeld had :thumb:

Groetjes
Trylogica
 
Beste Revdutchi ;)

Klopt, zo heb ik mijn voorbeeld bestandje hierboven ook gemaakt.

Groeten,
Jacques

Met 1 verschil:

Code:
Range ("H15"). Value

Is hetzelfde als

Code:
 [H15]

Het één werkt al wat sneller dan het andere natuurlijk, maar het blijft een persoonlijke keuze.

Groetjes danny. :thumb:
 
Ok,

Danny en Roncancio,

bedankt voor de uitleg, weer een stapje verder in het begrijpen van VBA.

Groeten,
Jacques
 
Heb ik toch nog een aandvullende vraag:

als ik de keuze 5x achter elkaar in VBA zet laat hij de keuze niet meer zien als ik dat wel wil. Ik kan zien dat de macro zijn werk wel doet, maar hij maakt het niet meer zichtbaar ook al voer ik bij elke keuze verschillende Values in. Tot nu toe heb ik de keuze vraag 10x achter elkaar toegepast. Is er wellicht een maximum aan verbonden?:o

greetz
Trylogica
 
Laatst bewerkt:
Heb ik toch nog een aandvullende vraag:

als ik de keuze 5x achter elkaar in VBA zet laat hij de keuze niet meer zien als ik dat wel wil. Ik kan zien dat de macro zijn werk wel doet, maar hij maakt het niet meer zichtbaar ook al voer ik bij elke keuze verschillende Values in. Tot nu toe heb ik de keuze vraag 10x achter elkaar toegepast. Is er wellicht een maximum aan verbonden?:o

greetz
Trylogica

Er is zeker geen maximum.
Welke keuze wil je precies zien?

Met vriendelijke groet,


Roncancio
 
Beste trylogica ;)

Kan je de code hier eens plaatsen of het bestandje zonder gevoelige informatie.

Groetjes Danny. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan