Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a problem with some sheet code, I think I know what is causing the
problem but I cannot figure a solution. This is the code that causes the error: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then Exit Sub If Target.Address = "$D$7" And Target.Value = "option 1" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "H" ElseIf Target.Address = "$D$7" And Target.Value = "option 2" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "M" ElseIf Target.Address = "$D$7" And Target.Value = "option 3" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "L" ElseIf Target.Address = "$D$7" And IsEmpty(Target.Value) Then Range("A8:A11").EntireRow.Hidden = True Range("D8").ClearContents End If End Sub D7 is really D7:G7 but the option 1, option 2 and option 3 parts work (chosen from data validation list) but the hide and clearcontents don't. I think that the If Target.Count 1 part is to blame and unfortunately the cells need to be merged. Is there any way around this. Thanks in advance. Gareth |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.MergeArea.Address = "$D$7:$G$7" if Range("D7").Value = "option 1" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "H" ElseIf Range("D7").Value = "option 2" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "M" ElseIf Range("D7").Value = "option 3" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "L" ElseIf Range("D7").Value = "" Then Range("A8:A11").EntireRow.Hidden = True Range("D8").ClearContents End If End If End Sub Perhaps -- Regards, Tom Ogilvy "Gareth" wrote in message ... I have a problem with some sheet code, I think I know what is causing the problem but I cannot figure a solution. This is the code that causes the error: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then Exit Sub If Target.Address = "$D$7" And Target.Value = "option 1" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "H" ElseIf Target.Address = "$D$7" And Target.Value = "option 2" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "M" ElseIf Target.Address = "$D$7" And Target.Value = "option 3" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "L" ElseIf Target.Address = "$D$7" And IsEmpty(Target.Value) Then Range("A8:A11").EntireRow.Hidden = True Range("D8").ClearContents End If End Sub D7 is really D7:G7 but the option 1, option 2 and option 3 parts work (chosen from data validation list) but the hide and clearcontents don't. I think that the If Target.Count 1 part is to blame and unfortunately the cells need to be merged. Is there any way around this. Thanks in advance. Gareth |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
As far as I can tell if D7:G7 are merged and there is a change in D7 the
Target.count will always be more than 1 and hence your code will always exit from the sub. Just comment out the line. if Target.count1 then exit sub Alok Joshi "Gareth" wrote: I have a problem with some sheet code, I think I know what is causing the problem but I cannot figure a solution. This is the code that causes the error: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count 1 Then Exit Sub If Target.Address = "$D$7" And Target.Value = "option 1" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "H" ElseIf Target.Address = "$D$7" And Target.Value = "option 2" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "M" ElseIf Target.Address = "$D$7" And Target.Value = "option 3" Then Range("A8:A11").EntireRow.Hidden = False Range("D8").Value = "L" ElseIf Target.Address = "$D$7" And IsEmpty(Target.Value) Then Range("A8:A11").EntireRow.Hidden = True Range("D8").ClearContents End If End Sub D7 is really D7:G7 but the option 1, option 2 and option 3 parts work (chosen from data validation list) but the hide and clearcontents don't. I think that the If Target.Count 1 part is to blame and unfortunately the cells need to be merged. Is there any way around this. Thanks in advance. Gareth |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Worksheet Change Event | Excel Discussion (Misc queries) | |||
Worksheet change Event | Excel Worksheet Functions | |||
worksheet change event? | Excel Programming | |||
Change Cell from Validated List Not Firing Worksheet Change Event | Excel Programming | |||
Worksheet Change Event | Excel Programming |