ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   code to hide hides too much (https://www.excelbanter.com/excel-discussion-misc-queries/174388-code-hide-hides-too-much.html)

Marilyn

code to hide hides too much
 
Hello I want to hide columns "e" and "f" if cells C7 says anything else
than "Web System ". I created the code below and it works except that it also
hides columns "e" and "f" if I enter anything in in row 7 thanks

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And (Target.Value = "Web System") Then
Columns("E:F").Hidden = False
Else: Columns("E:F").Hidden = True
End If
End Sub

Tyro[_2_]

code to hide hides too much
 
You're checking only for a change in Column C. There is no reference to row
7. Your code should look something like this:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 7 Then
If Target.Value = "WS" Then
Columns("E:F").Hidden = False
Else
Columns("E:F").Hidden = True
End If
End If
End Sub

Tyro


"Marilyn" wrote in message
...
Hello I want to hide columns "e" and "f" if cells C7 says anything else
than "Web System ". I created the code below and it works except that it
also
hides columns "e" and "f" if I enter anything in in row 7 thanks

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And (Target.Value = "Web System") Then
Columns("E:F").Hidden = False
Else: Columns("E:F").Hidden = True
End If
End Sub




Jim Cone

code to hide hides too much
 

The following does what you requested.
However, I doubt it is what you want?...
'--
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$7" Then
If (Target.Value = "Web System") Then
Columns("E:F").Hidden = False
Else
Columns("E:F").Hidden = True
End If
End If
End Sub
'--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)


"Marilyn"
wrote in message
Hello I want to hide columns "e" and "f" if cells C7 says anything else
than "Web System ". I created the code below and it works except that it also
hides columns "e" and "f" if I enter anything in in row 7 thanks

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And (Target.Value = "Web System") Then
Columns("E:F").Hidden = False
Else: Columns("E:F").Hidden = True
End If
End Sub

Dave Peterson

code to hide hides too much
 
I'd use something like:

Private Sub Worksheet_Change(ByVal Target As Range)
if target.cells.count 1 then exit sub 'one cell at a time
if intersect(target, me.range("C7")) is nothing then exit sub

if lcase(target.value) = lcase("web system") then
me.columns("E:F").hidden = true
else
me.columns("E:F").hidden = false
end if

End Sub

You could actually replace that if/then/else with this:

me.columns("E:F").hidden = cbool(lcase(target.value) = lcase("web system"))



Marilyn wrote:

Hello I want to hide columns "e" and "f" if cells C7 says anything else
than "Web System ". I created the code below and it works except that it also
hides columns "e" and "f" if I enter anything in in row 7 thanks

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And (Target.Value = "Web System") Then
Columns("E:F").Hidden = False
Else: Columns("E:F").Hidden = True
End If
End Sub


--

Dave Peterson

Tyro[_2_]

code to hide hides too much
 
Correction: The "WS" in the code should be "Web System"

Tyro

"Tyro" wrote in message
...
You're checking only for a change in Column C. There is no reference to
row 7. Your code should look something like this:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 7 Then
If Target.Value = "WS" Then
Columns("E:F").Hidden = False
Else
Columns("E:F").Hidden = True
End If
End If
End Sub

Tyro






All times are GMT +1. The time now is 10:15 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com