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

regels verstoppen

Status
Niet open voor verdere reacties.

Maik

Gebruiker
Lid geworden
20 dec 2005
Berichten
79
Er is in dit forum al het een en ander over geschreven en toch kom ik er nog niet uit.
Het gaat om het volgende, ik heb een bestand waarin cel z3 een (getal)keuzeveld is.
Weet iemand of het mogelijk is dat indien er in het keuzeveld (z3) een getal boven de 64 gekozen wordt de regels 40 tot en met 97 verborgen worden.
Alvast mijn dank
 
Zoek naar een Worksheet_Change event. Ik heb daar alle heel veel keer code voor geschreven.

Wigi
 
Maik,

plak deze code in het blad waarvan de cel Z3 het keuzeveld is.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$Z$3" Then Exit Sub
    If Range("Z3") > 64 Then
        Rows("40:97").EntireRow.Hidden = True
    Else
        Rows("40:97").EntireRow.Hidden = False
    End If
End Sub


Koosl
 
Bedankt Koosl,

Precies zoals het in mn hoofd zat, maar er nog even niet uit wilde komen!
 
Wat korter:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$Z$3" Then Rows("40:97").EntireRow.Hidden = (Range("Z3") > 64)
End Sub

Code gaat in principe niet sneller uitvoeren. Maar voordelen zijn wel: minder typwerk en vooral minder aanpaswerk later indien de 40 of 97 zouden moeten wijzigen. Dus minder kans op fouten ook.

Wigi
 
@Wigi,

is inderdaad nogal korter. :)

Als ik het goed zie heb je nu de Else overboord gegooid en werkt het toch.
Kun je dit een beetje uitleggen?

Het kan ook zijn dat ik het gewoon niet zie, want ik ben nog niet helemaal hersteld van een griepje. :(

Koosl
 
Je mag het idd weglaten.

Je mag zelfs dit doen:

Code:
If Range("Z3") > 4 Then Range("A1") = 64 Else Range("A1") = 142

of wat ook mag

Code:
Range("A1") = Iif(Range("Z3") > 4, 64, 142)

Wigi
 
@ Wigi,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$Z$3" Then Rows("40:97").EntireRow.Hidden = (Range("Z3") > 64)
End Sub

toch ziet het er maar raar uit.

Als ik bij mij de Else overboord gooi, blijven de rijen verborgen en worden niet meer uit zichzelf zichtbaar.

Staat er nu:
Is de target Z3 verberg dan de rijen 40:97 als de waarde in Z3 > 64

Of staat dit er allebei in 1 regel? (Door het ontbreken van True en False)
Is de target Z3 verberg de rijen 40:97 als de waarde in Z3 > 64
Is de target Z3 toon de rijen 40:97 als de waarde in Z3 <= 64

Dus zijn de rijen verborgen, toon ze dan als de waarde in Z3 <= 64
zijn de rijen zichtbaar verberg ze dan als de waarde in Z3 > 64


Koosl
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan