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

VBA code laten gelden voor gehele kolom.

  • Onderwerp starter Onderwerp starter pisch
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

pisch

Nieuwe gebruiker
Lid geworden
7 feb 2017
Berichten
3
Goedemiddag,

ik wil in Excel een rij automatisch verbergen indien 'Yes' vanuit een pulldown menu wordt geselecteerd.
Daarvoor heb ik nu de volgende VBA code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$4" Then
If Range("M4") = "YES" Then
ActiveSheet.Rows("4:4").EntireRow.Hidden = True
End If
End If
End Sub


Dit werkt nu, echter enkel voor rij '4'. Kan iemand mij vertellen hoe ik dit voor alle rijen in kolom 'M' kan laten werken?
 
Je wilt dus kolom D verbergen?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$M$4" Then
        Columns(4).Hidden = Range("M4") = "YES"
    End If
End Sub
 
afbeelding.PNG

Hoi Ed,

nee; mijn doel is om rij 4 te verbergen indien in Kolom 'M' voor 'Yes' wordt gekozen middels een pulldown menu.
Dit werkt nu.

Echter wil ik dit ook voor rij 5 t/m 1000.
Zie ook de afbeelding in de bijlage.
Ik hoop dat mijn vraagstelling zo duidelijk is, alvast bedankt.
 
Ok, dan maak je er dit van:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$M$4" Then
        rows("4:1000").hidden = Range("M4") = "YES"
    End If
End Sub

Of wil je dat voor iedere regel apart?
Dat plaatje zegt natuurlijk helemaal niks.
 
Laatst bewerkt:
Edmoor,
Ik vermoed dat het dan ook gaat om M5, M6, M7 die YES moeten bevatten.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 13 Then
        For r = 1000 To 4 Step -1
            If Cells(r, 13).Value = "YES" Then Rows(r).Hidden = True
        Next
    End If
End Sub

Zo zou ik het dan doen, althans als ik het goed begrepen heb.
 
Dat denk ik ook, vandaar m'n laatste vraag ;)
Overigens kan je dat ook zo doen:
Code:
Rows(r).Hidden = Cells(r, 13).Value = "YES"
 
Laatst bewerkt:
Of wil je dat voor iedere regel appart?

Dat is inderdaad mijn doelstelling.
De regel waarbij ik 'Yes' in het dropdown menu selecteer, die regel mag verborgen worden.


Inderdaad helemaal zoals ik hem voor ogen had! Edmoor en Spaarie, super bedankt voor jullie snelle oplossing!
 
Laatst bewerkt:
Nu ben je nog niet duidelijk of er YES, Yes of yes wordt ingevuld omdat je weer wat anders gebruikt dan in je eerdere vraag, maar goed:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 13 Then
        Rows(Target.Row).Hidden = Lcase(Target.Value) = "yes"
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan