Separating sub procedures

J

JAW

My VBA code hides certain rows in my spreadsheet - however I have created two
different ones - relying on two different Targets. It will run, but only
pays attention to the last Target I have commanded. What have I done
wrong? Please help as I am an absolute beginner at VBA. Please see code
attached:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("G25"), Target) Is Nothing Then
Range("A28:A32").EntireRow.Hidden = True
If Target.Value = "Yes" Then
Range("A28:A32").EntireRow.Hidden = True
Range("A33:A999").EntireRow.Hidden = False
Else
If Target.Value = "" Then
Range("A28:A32").EntireRow.Hidden = True
Range("A33:A999").EntireRow.Hidden = False
Else
Range("A28:A32").EntireRow.Hidden = False
Range("A33:A999").EntireRow.Hidden = True
End If
End If
End If

If Not Application.Intersect(Range("E22"), Target) Is Nothing Then
Range("A53:A59").EntireRow.Hidden = True
If Target.Value = "No" Then
Range("A53:A59").EntireRow.Hidden = True
Else
Range("A53:A59").EntireRow.Hidden = False
End If
End If
End Sub
 
J

JAW

If in the first instance you say "No" in cell E22 so that rows 53 - 59 hide.

After this, say "Yes" to G25 in order to make sure that rows 28-32 hide and
that 33-999 don't hide - you will see that the original command is undone -
i.e. rows 53-59 are now unhidden again.

The code only seems to respond to the last command you have affected.
 
D

Daniel.C

That seems normal since 33-999 are unhidden, 53-59 are unhidden. You'll
have to unhide 33-52 and 60-999.
Daniel
 

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