Automatically hide/unhide rows

J

JStiehl

I'm a VBA newbie and have searched for an answer for how to do this, but must
be doing something wrong when I've tried other codes. I need to have rows
automatically hide or unhide based on a value in column D. If the value in
column D is Y, the row should not be hidden; if the value is N, the row
should be hidden. These values may change, so the rows need to be able to
hide/unhide automatically.

When I've entered codes in before, I click on the tab for this worksheet,
select View Code, choose Insert Module, and then insert the code. There is
already a code in this worksheet for something else, so I can't just add it
in after selecting View Code. Am I putting the code in the wrong spot?
Should I be choosing something else other than Insert Module?

I've tried out so many different codes thinking that was the problem, but
now I think I may just be entering it wrong. I appreciate your help.
 
J

Jacob Skaria

Select the sheet tab which you want to work with. Right click the sheet tab
and click on 'View Code'. This will launch VBE. Paste the below code to the
right blank portion. Get back to to workbook and try out.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then Rows(Target.Row).Hidden = (UCase(Target.Text) = "N")
End Sub
 
J

JStiehl

I followed your directions and entered the code and there was no change. My
rows with an N in column D are not hidden.
 
J

Jacob Skaria

The earlier code only works for new entries made....If you want a macro to
hide the existing entries try the below

--From workbook launch VBE using short-key Alt+F11.
--From menu 'Insert' a module and paste the below code.
--Get back to Workbook.
--Run macro from Tools|Macro|Run <selected macro()>


Sub MyMacro()
Dim lngRow As Long
For lngRow = 1 To Cells(Rows.Count, "D").End(xlUp).Row
Rows(lngRow).Hidden = (UCase(Range("D" & lngRow)) = "N")
Next
End Sub
 
J

JStiehl

Thanks so much for your help. I don't know what my problem is, but it still
isn't working. I pasted the code per your directions, but when I run the
macro "My Macro", nothing changes or happens.
 
J

JStiehl

The security level was set at medium, I changed it to low...it's still not
working when I run the macro. Any other ideas? Thanks so much for your help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top