Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).



"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!


--

Dave Peterson

  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!


--

Dave Peterson


--

Dave Peterson
  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson



  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson
  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.


"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson

  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("h6:h7")) Is Nothing Then Exit Sub

'I'd show everything to start
Me.Columns.Hidden = False

Select Case LCase(Me.Range("h7").Value)
Case Is = "yes"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Columns.Hidden = False
Case Is = "total $"
Me.Range("P:R").EntireColumn.Hidden = True
Me.Range("K:M").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("P:R").EntireColumn.Hidden = False
Me.Range("K:M").EntireColumn.Hidden = True
End Select
Case Is = "no"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Range("m:M,R:r").EntireColumn.Hidden = True
Me.Range("K:L,P:Q").EntireColumn.Hidden = False
Case Is = "total $"
Me.Range("M:M,P:R").EntireColumn.Hidden = True
Me.Range("K:L").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("K:M,R:R").EntireColumn.Hidden = False
Me.Range("P:q").EntireColumn.Hidden = True
End Select
Case Else
'do nothing
End Select

End Sub

laststraw wrote:

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.

"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson
  #9   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

This works except the last Case is = $/eq T needs to have the true and false
around the other way.

Thanks for your help - it's very much appreciated!


"Dave Peterson" wrote:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("h6:h7")) Is Nothing Then Exit Sub

'I'd show everything to start
Me.Columns.Hidden = False

Select Case LCase(Me.Range("h7").Value)
Case Is = "yes"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Columns.Hidden = False
Case Is = "total $"
Me.Range("P:R").EntireColumn.Hidden = True
Me.Range("K:M").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("P:R").EntireColumn.Hidden = False
Me.Range("K:M").EntireColumn.Hidden = True
End Select
Case Is = "no"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Range("m:M,R:r").EntireColumn.Hidden = True
Me.Range("K:L,P:Q").EntireColumn.Hidden = False
Case Is = "total $"
Me.Range("M:M,P:R").EntireColumn.Hidden = True
Me.Range("K:L").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("K:M,R:R").EntireColumn.Hidden = False
Me.Range("P:q").EntireColumn.Hidden = True
End Select
Case Else
'do nothing
End Select

End Sub

laststraw wrote:

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.

"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson

  #10   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

So you changed the true and false around and it worked ok?

laststraw wrote:

This works except the last Case is = $/eq T needs to have the true and false
around the other way.

Thanks for your help - it's very much appreciated!

"Dave Peterson" wrote:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("h6:h7")) Is Nothing Then Exit Sub

'I'd show everything to start
Me.Columns.Hidden = False

Select Case LCase(Me.Range("h7").Value)
Case Is = "yes"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Columns.Hidden = False
Case Is = "total $"
Me.Range("P:R").EntireColumn.Hidden = True
Me.Range("K:M").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("P:R").EntireColumn.Hidden = False
Me.Range("K:M").EntireColumn.Hidden = True
End Select
Case Is = "no"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Range("m:M,R:r").EntireColumn.Hidden = True
Me.Range("K:L,P:Q").EntireColumn.Hidden = False
Case Is = "total $"
Me.Range("M:M,P:R").EntireColumn.Hidden = True
Me.Range("K:L").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("K:M,R:R").EntireColumn.Hidden = False
Me.Range("P:q").EntireColumn.Hidden = True
End Select
Case Else
'do nothing
End Select

End Sub

laststraw wrote:

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.

"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


  #11   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 7
Default Automatically hide/unhide columns

yes - only on the one as stated above. Thanks!

"Dave Peterson" wrote:

So you changed the true and false around and it worked ok?

laststraw wrote:

This works except the last Case is = $/eq T needs to have the true and false
around the other way.

Thanks for your help - it's very much appreciated!

"Dave Peterson" wrote:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("h6:h7")) Is Nothing Then Exit Sub

'I'd show everything to start
Me.Columns.Hidden = False

Select Case LCase(Me.Range("h7").Value)
Case Is = "yes"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Columns.Hidden = False
Case Is = "total $"
Me.Range("P:R").EntireColumn.Hidden = True
Me.Range("K:M").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("P:R").EntireColumn.Hidden = False
Me.Range("K:M").EntireColumn.Hidden = True
End Select
Case Is = "no"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Range("m:M,R:r").EntireColumn.Hidden = True
Me.Range("K:L,P:Q").EntireColumn.Hidden = False
Case Is = "total $"
Me.Range("M:M,P:R").EntireColumn.Hidden = True
Me.Range("K:L").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("K:M,R:R").EntireColumn.Hidden = False
Me.Range("P:q").EntireColumn.Hidden = True
End Select
Case Else
'do nothing
End Select

End Sub

laststraw wrote:

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.

"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson

  #12   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default Automatically hide/unhide columns

I wasn't sure from the previous post. Glad you have your solution.

laststraw wrote:

yes - only on the one as stated above. Thanks!

"Dave Peterson" wrote:

So you changed the true and false around and it worked ok?

laststraw wrote:

This works except the last Case is = $/eq T needs to have the true and false
around the other way.

Thanks for your help - it's very much appreciated!

"Dave Peterson" wrote:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub
If Intersect(Target, Me.Range("h6:h7")) Is Nothing Then Exit Sub

'I'd show everything to start
Me.Columns.Hidden = False

Select Case LCase(Me.Range("h7").Value)
Case Is = "yes"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Columns.Hidden = False
Case Is = "total $"
Me.Range("P:R").EntireColumn.Hidden = True
Me.Range("K:M").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("P:R").EntireColumn.Hidden = False
Me.Range("K:M").EntireColumn.Hidden = True
End Select
Case Is = "no"
Select Case LCase(Me.Range("H6").Value)
Case Is = "total $ & $/eq t"
Me.Range("m:M,R:r").EntireColumn.Hidden = True
Me.Range("K:L,P:Q").EntireColumn.Hidden = False
Case Is = "total $"
Me.Range("M:M,P:R").EntireColumn.Hidden = True
Me.Range("K:L").EntireColumn.Hidden = False
Case Is = "$/eq t"
Me.Range("K:M,R:R").EntireColumn.Hidden = False
Me.Range("P:q").EntireColumn.Hidden = True
End Select
Case Else
'do nothing
End Select

End Sub

laststraw wrote:

The possibilities a

H7 H6 Columns to be hidden / displayed

yes total $ & $/eq T none / all
yes total $ P:R / K:M
yes $/eq T K:M / P:R

no total $ & $/eq T M & R / K:L & P:Q
no total $ M & P:R / K:L
no $/eq T K:M & R / P:Q

The only scenario that the code doesn't do as I need is "yes" + "$/eq T"
because col M remains visible. The rest works great.

"Dave Peterson" wrote:

I don't think you gave all the possibilities.

How about filling all the possibilities in that chart?

laststraw wrote:

Dave,

My apologies for not making this a bit clearer. What I have is something
like this...

Cost type: (cell H6) validation list = Total $ & $/eq T, Total $, $/eq T
Variance: (cell H7) validation list = Yes, No

K L M N O P Q R S T
---- Total Cost ---- ---- Unit Cost ----
2007 2008 var 2007 2008 var
34 30 4 26 28 -2
etc

If H6 = "Total $ & $/eq T" and H7 = "Yes", then K:M & P:R need to be
displayed. If H7 = "No" then col M & R need to be hidden. This works fine
using the previous code.
However, if H6 = "$/eq T" and H7 = "Yes" then only P:R should be displayed.
This combination currently displays col M as well which needs to remain
hidden if this combination is selected.
Is there an easy fix to this?

Thanks so much!

"Dave Peterson" wrote:

I'm not sure I understand the requirements.

You have two cells to inspect (H6 and H7).

There's only a few things that can happen:


H7 H6 What should be hidden/shown
===== ================ =================================================
Yes Total $
Yes $/eq T
Yes Total $ & $/eq t
Yes blank

no Total $
no $/eq T
no Total $ & $/eq t
no blank

blank Total $
blank $/eq T
blank Total $ & $/eq t
blank blank

Please explain what columns should be hidden/shown for each of these 12
conditions.

(I didn't want to guess.)

laststraw wrote:

Thanks Dave - it works like a charm except for when "$/eq T" is selected with
H7 = "yes". In this case it also displays column M which needs to be hidden
when $/eq T is selected (all K:N need to be hidden when $/eq T is selected).

"Dave Peterson" wrote:

This actually just looks at H7 to see if it's a Yes. If it's a yes, then M and
R are hidden. Anything else and M and R are shown.

If that's ok, rightclick on the worksheet tab that should have this behavior.
Select view code and paste this into the code window:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'one cell at a time!
If Target.Cells.Count 1 Then Exit Sub

If Not (Intersect(Target, Me.Range("H7")) Is Nothing) Then
'in H7
Me.Range("M1,R1").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("no"))
ElseIf Not (Intersect(Target, Me.Range("H6")) Is Nothing) Then
Me.Range("P:S").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("total $"))
Me.Range("k:n").EntireColumn.Hidden _
= CBool(LCase(Target.Value) = LCase("$/eq t"))
End If

End Sub

laststraw wrote:

I have a validation box with yes/no options in it in cell H7.
When "no" is selected I would like to hide columns M and R only. When yes
is selected I would like these columns to be displayed.

In the same worksheet I have a validation in cell H6 but would like columns
P:S hidden if "Total $" is selected from the validation list, columns K:N
hidden if "$/eq T" is selected and columns K:S visible if "Total $ & $/eq T"
is selected.

I need the first validation to work in conjunction with the second so that
for example, if total $ is selected and H7 has "yes" selected, only columns
K:N are visible.

I am working with Excel 2003 and my knowledge of VBA is extremely basic,
extending only to pasting code into a module.

I am very grateful for any help you can give me on this one. Thanks!!

--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Hide / Unhide columns and rows PaulM Excel Discussion (Misc queries) 8 September 6th 07 12:14 AM
Hide/Unhide columns using button on top over relevant columns [email protected] Excel Discussion (Misc queries) 1 March 7th 07 09:24 PM
Unhide and hide columns [email protected] Excel Worksheet Functions 1 October 23rd 06 07:16 PM
How do I hide and unhide the same columns without reselecting CJE Excel Worksheet Functions 2 March 31st 06 12:27 AM
How to hide and unhide Rows & Columns Aarif Excel Worksheet Functions 3 March 23rd 06 05:19 AM


All times are GMT +1. The time now is 06:44 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"