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

Rij verbergen als waarde 0 is

Status
Niet open voor verdere reacties.

Prosperos

Gebruiker
Lid geworden
5 sep 2005
Berichten
66
Ik ben helemaal nieuw met excel en ik zou graag willen weten hoe ik een rij verberg als mijn waarde in Kolom D gelijk is aan 0.

Kan ik hiervoor een macro gebruiken?

PS. De gehele rij moet verborgen worden als D=0

Alvast bedankt jongens!
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then Target.EntireRow.Hidden = Target.Value = 0
End Sub

Met vriendelijke groet,


Roncancio
 
@ Roncancio
Mooie oplossing, maar ik vroeg me nu het volgende af:
Prospero wilde hem verbergen en niet verwijderen.
Dan wil hij er waarschijnlijk ooit nog eens iets in kunnn aanpassen.
Maar hoe krijgt hij die rij nu ooit weer te zien?

Ik heb die code proberen te activeren via een opdrachtknop (om ook een knop te maken om de rij weer zichtbaar te maken) maar dat lukt niet.

@ prosperos
Heb ik het juist?

Groetjes,
Ger
 
@ Roncancio
Mooie oplossing, maar ik vroeg me nu het volgende af:
Prospero wilde hem verbergen en niet verwijderen.
Dan wil hij er waarschijnlijk ooit nog eens iets in kunnn aanpassen.
Maar hoe krijgt hij die rij nu ooit weer te zien?

Ik heb die code proberen te activeren via een opdrachtknop (om ook een knop te maken om de rij weer zichtbaar te maken) maar dat lukt niet.

Ger,

Bedankt voor je "kritische" noot. Kritisch is misschien niet het juiste woord hiervoor, vandaar dat ik het tussen aanhalingstekens heb gezet.
Het klopt wat je zegt, maar er zijn verschillende manieren om het probleem op te lossen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then Target.EntireRow.Hidden = Target.Value = 0
If Not Intersect(Target, Range("A1")) Is Nothing Then Rows(Range("A1").Value).Hidden = False
End Sub

In bovenstaande code wordt de rij die in cel A1 wordt ingevoerd weer zichtbaar.
Dus stel je zet een 0 in cel D6, dan wordt de gehele 6e rij verborgen.
Zet je in cel A1 een 6, dan wordt de 6e rij weer zichtbaar.

Een opdrachtknop zal lastig zijn omdat je wel moet aangeven welke cel verborgen danwel getoond moet worden.
Het event WorkSheet_Change is daar dan de uitgelezen mogelijkheid voor.

Met vriendelijke groet,


Roncancio
 
Daarnaast is het afhankelijk waardoor kolom D een 0 is, als dit voortkomt uit een formule die zijn info ergens anders vandaan haalt, kan de 0 al weer veranderen en is de rij weer zichtbaar . . . . .
 
Laatst bewerkt:
Hallo Roncancio,

Je mag het gerust kritisch noemen hoor. Opbouwend kritisch mag toch?

Ofschoon jouw oplossing nog steeds kan, zou ik er niet blij mee zijn.
Immers, misschien heeft Prosperos wel 50 rijen met waarde 0 in kolom D.
Dan moet hij ze allemaal een voor een gaan intikken om ze weer zichtbaar te krijgen en er iets in te voeren.
Waarna ze meteen ook weer verborgen wordt als hij een andere rij even zichbaar wil hebben (klopt toch hè?)

Ik dacht daarom aan een knop met iets in de trant van:
Code:
    For rij = 1 To 100
        If Cells(rij, "D").Value =0 Then
            Rows(rij).Hidden = False
        End If
    Next rij
Voordeel daarvan is dat je hem gemakkelijk kunt terugdraaien met een andere knop.

Maar ik hoop dat jij hem nu nog mooier gaat maken.

Groetjes,
Ger
 
Hallo Roncancio,

Je mag het gerust kritisch noemen hoor. Opbouwend kritisch mag toch?

Ofschoon jouw oplossing nog steeds kan, zou ik er niet blij mee zijn.
Immers, misschien heeft Prosperos wel 50 rijen met waarde 0 in kolom D.
Dan moet hij ze allemaal een voor een gaan intikken om ze weer zichtbaar te krijgen en er iets in te voeren.
Waarna ze meteen ook weer verborgen wordt als hij een andere rij even zichbaar wil hebben (klopt toch hè?)

Ik dacht daarom aan een knop met iets in de trant van:
Code:
    For rij = 1 To 100
        If Cells(rij, "D").Value =0 Then
            Rows(rij).Hidden = False
        End If
    Next rij
Voordeel daarvan is dat je hem gemakkelijk kunt terugdraaien met een andere knop.

Maar ik hoop dat jij hem nu nog mooier gaat maken.

Groetjes,
Ger
In dat geval zou ik gewoon de cellen selecteren en ze weer zichtbaar maken. Dus zonder VBA.

Met vriendelijke groet,


Roncancio
 
@ Thankyou

Hallo Martin,

In dat geval is die oplossing van Roncancio zeker te overwegen. Je kunt dan alleen invoeren als die waarde uit de formule ongelijk aan 0 is. En dat zou natuurlijk net de bedoeling kunnen zijn.

Groetjes,
Ger
 
@ Roncancio,

Ja zeker, maar dan moet je al die cellen (die heel verspreid kunnen zijn) afzonderlijk selecteren.
En het moest juist op voorwaarde dat kolom D 0 was.

Groetjes,
Ger
 
@ Roncancio,

Ja zeker, maar dan moet je al die cellen (die heel verspreid kunnen zijn) afzonderlijk selecteren.
En het moest juist op voorwaarde dat kolom D 0 was.

Groetjes,
Ger

Alleen de rijen waarvan in de D-kolom een 0 staat, zijn verborgen.
Dus je kunt met 1 klik alle cellen selecteren en vervolgens zichtbaar maken.

Met vriendelijke groet,


Roncancio
 
Hallo Roncancio,

Sorry voor mijn laatste bezwaren.
Bij mij sprong meteen alles weg bij elke worksheet_change.
Ook als ik rijen weer zichtbaar maakte.

Waarschijnlijk had ik iets fout gedaan met de invoer van de code.
Maar ik zie dat het wel gewoon werkt.

Groetjes,
Ger
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan