Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default Hide/Show a row based on data entry in another row

I have a data entry cell at B4 where you enter a currency value. If B4 is
blank I want row 19 to be hidden and if B4 is not blank then show row 19.
I've tried a heap of different things but none have worked so far.

This works if you only want to hide them and your cell has a value but I
can't think how to do it if it's a blank!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And UCase(Target.Value) = "COMPLETE" Then
Target.EntireRow.Hidden = True
Else
Exit Sub
End If
End Sub

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Hide/Show a row based on data entry in another row

Hi Ivory Kitten,

Try:

'=============
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range

Set rng = Me.Range("B4")

If Not Intersect(rng, Target) Is Nothing Then
Rows(19).EntireRow.Hidden = IsEmpty(rng.Value)
End If
End Sub
'<<=============


---
Regards,
Norman



"ivory_kitten" wrote in message
...
I have a data entry cell at B4 where you enter a currency value. If B4 is
blank I want row 19 to be hidden and if B4 is not blank then show row 19.
I've tried a heap of different things but none have worked so far.

This works if you only want to hide them and your cell has a value but I
can't think how to do it if it's a blank!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And UCase(Target.Value) = "COMPLETE" Then
Target.EntireRow.Hidden = True
Else
Exit Sub
End If
End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default Hide/Show a row based on data entry in another row

I get: Compile Error: Ambiguous name detected: Worksheet_Change!

But I think that's because I have another function which changes some text
fields to uppercase. How do I use both?

Here's my other one:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Application.Intersect(Range("b1,b2,b5"), Target) Is Nothing Then
Target.Formula = StrConv(Target.Formula, vbUpperCase)
End If
End Sub

"Norman Jones" wrote:

Hi Ivory Kitten,

Try:

'=============
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range

Set rng = Me.Range("B4")

If Not Intersect(rng, Target) Is Nothing Then
Rows(19).EntireRow.Hidden = IsEmpty(rng.Value)
End If
End Sub
'<<=============


---
Regards,
Norman



"ivory_kitten" wrote in message
...
I have a data entry cell at B4 where you enter a currency value. If B4 is
blank I want row 19 to be hidden and if B4 is not blank then show row 19.
I've tried a heap of different things but none have worked so far.

This works if you only want to hide them and your cell has a value but I
can't think how to do it if it's a blank!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And UCase(Target.Value) = "COMPLETE" Then
Target.EntireRow.Hidden = True
Else
Exit Sub
End If
End Sub




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Hide/Show a row based on data entry in another row

Hi Ivory Kitten,

I get: Compile Error: Ambiguous name detected: Worksheet_Change!


But I think that's because I have another function which changes some text
fields to uppercase. How do I use both?


It is only possible to have one Worksheet_Change procedure.

Try replacing your present two procedures with;

'=============
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range

Set rng = Me.Range("B4")

If Not Intersect(rng, Target) Is Nothing Then
Rows(19).EntireRow.Hidden = IsEmpty(rng.Value)
End If

If Not Application.Intersect(Range("b1,b2,b5"), _
Target) Is Nothing Then
Target.Formula = StrConv(Target.Formula, vbUpperCase)
End If

End Sub
'<<=============


---
Regards,
Norman


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default Hide/Show a row based on data entry in another row

I must be doing something wrong! It works once or twice then nothing
happens! I'm copying it exactly.

"Norman Jones" wrote:

Hi Ivory Kitten,

I get: Compile Error: Ambiguous name detected: Worksheet_Change!


But I think that's because I have another function which changes some text
fields to uppercase. How do I use both?


It is only possible to have one Worksheet_Change procedure.

Try replacing your present two procedures with;

'=============
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range

Set rng = Me.Range("B4")

If Not Intersect(rng, Target) Is Nothing Then
Rows(19).EntireRow.Hidden = IsEmpty(rng.Value)
End If

If Not Application.Intersect(Range("b1,b2,b5"), _
Target) Is Nothing Then
Target.Formula = StrConv(Target.Formula, vbUpperCase)
End If

End Sub
'<<=============


---
Regards,
Norman





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Hide/Show a row based on data entry in another row

Hi Ivory Kitten,

I must be doing something wrong! It works once or twice then
nothing happens! I'm copying it exactly.


What does "nothing happens" mean? Lower case entries in B1, B2 or B5 are not
converted to uppercase? Row 19 is not hidden or unhidden in reponse to
changes in B4?

There is nothing intrinsic to the Worksheet_Change code that would explain
successful operation followed by failure.

Perhaps, howevere, you have other code which may have turned off events. In
the Immediate window, try typing:

Application.EnableEvents = True

and hit the Enter key. Now retry the Worksheet_Change code.


---
Regards,
Norman


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default Hide/Show a row based on data entry in another row

It's odd, I have no other codes, its working fine now. The case bit was
working and the hide/unhide row part was not. But it is now!?

how do you change the hide/unhide so that it hides when empty or a certain
value?

"Norman Jones" wrote:

Hi Ivory Kitten,

I must be doing something wrong! It works once or twice then
nothing happens! I'm copying it exactly.


What does "nothing happens" mean? Lower case entries in B1, B2 or B5 are not
converted to uppercase? Row 19 is not hidden or unhidden in reponse to
changes in B4?

There is nothing intrinsic to the Worksheet_Change code that would explain
successful operation followed by failure.

Perhaps, howevere, you have other code which may have turned off events. In
the Immediate window, try typing:

Application.EnableEvents = True

and hit the Enter key. Now retry the Worksheet_Change code.


---
Regards,
Norman



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Hide/Show a row based on data entry in another row

Hi Ivory Kitten,

It's odd, I have no other codes, its working fine now. The case bit was
working and the hide/unhide row part was not. But it is now!?


I am glad that you have got it working.

how do you change the hide/unhide so that it hides when empty or
a certain value?


Change:

Rows(19).EntireRow.Hidden = IsEmpty(rng.Value)


to

Rows(19).EntireRow.Hidden = Not IsEmpty(rng.Value)

---
Regards,
Norman


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
Conditional Formatting Based of Cells Based on Data Entry in anoth Jim Excel Discussion (Misc queries) 3 November 11th 08 11:52 PM
Hide & Show Rows based on Check Boxes loza Excel Discussion (Misc queries) 1 September 14th 08 01:49 AM
Auto entry of data based on entry of text in another column or fie Judy Rose Excel Discussion (Misc queries) 2 May 21st 08 01:14 PM
How do I hide spreadsheet range from data entry? Deborah_NY Excel Worksheet Functions 1 May 22nd 06 02:43 PM
Macro to Hide/Show Columns based on control cell value Steve N Excel Programming 2 May 25th 04 06:51 PM


All times are GMT +1. The time now is 07:15 AM.

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

About Us

"It's about Microsoft Excel"