Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Bob Bob is offline
external usenet poster
 
Posts: 972
Default Code Does Not Work Depending On Formula

If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works.
IfI use: =Sheet2!D22 in column A (with no value)
The code does not work.
Why?
Thanks,
Bob

Private Sub CommandButton1_Click()
Dim rw As Long
Application.ScreenUpdating = False
'Me is the object that owns the code
'in this case Sheet1
With Me 'Sheets("Sheet1")
For rw = 1 To 30
If .Cells(rw, "A").Value = "" Then _
.Rows(rw).Hidden = True
Next rw
.PrintOut ' for testing use .PrintPreview
.Range("A1:A30").EntireRow.Hidden = False
End With
Application.ScreenUpdating = True
End Sub







  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Code Does Not Work Depending On Formula

If there is a formula in the cell, it is not empty and won't pass your test.


In fact,
=sheet2!D22 will return a zero if there is nothing in D22 of Sheet2.

Just to illustrate in the immediate window:

? Activecell.Formula
=Sheet2!D22
? Activecell.Value
0
? isempty(activecell)
False
? isempty(Range("sheet2!D22"))
True

So the test would have to be designed to account for the actual situation.


--
Regards,
Tom Ogilvy



"JLatham" <HelpFrom @ Jlathamsite.com.(removethis) wrote in message
...
Because when you use the IF() statement you are actually assigning the
value
of "" (a zero length string) to the cell in column A. But when you just
use
=Sheet2!D22 and nothing is in Sheet2!D22, then there is nothing in the one
in
column A. Technically both cells are Empty - and there is a difference
between empty and containing a zero length string.

I think (haven't tested this) that if you use the
=Sheet2!D22
formula in Column A of Sheet1 then if you change your test in the VB code
from
If .Cells(rw,"A").Value = "" Then _
to
If IsEmpty(.Cells(rw, "A")) Then _

you'll get the results you are expecting. It's either that or leave the
code the way it is and continue using the IF() statement for entries in
column A.

"Bob" wrote:

If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works.
IfI use: =Sheet2!D22 in column A (with no value)
The code does not work.
Why?
Thanks,
Bob

Private Sub CommandButton1_Click()
Dim rw As Long
Application.ScreenUpdating = False
'Me is the object that owns the code
'in this case Sheet1
With Me 'Sheets("Sheet1")
For rw = 1 To 30
If .Cells(rw, "A").Value = "" Then _
.Rows(rw).Hidden = True
Next rw
.PrintOut ' for testing use .PrintPreview
.Range("A1:A30").EntireRow.Hidden = False
End With
Application.ScreenUpdating = True
End Sub









  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Code Does Not Work Depending On Formula

For the OP,
This wouldn't work for either of the formulas you show as being in column A.

A cell containing a formula is not considered blank.

--
Regards,
Tom Ogilvy

"Don Guillett" wrote in message
...
change to
Sub hiderows()
With ActiveSheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.PrintPreview
.Rows.Hidden = False
End With
End Sub

--
Don Guillett
SalesAid Software

"Don Guillett" wrote in message
...
Sub hiderows()
with yoursheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.print
.rows.visible=true
end with
End Sub

--
Don Guillett
SalesAid Software

"Bob" wrote in message
...
If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works.
IfI use: =Sheet2!D22 in column A (with no value)
The code does not work.
Why?
Thanks,
Bob

Private Sub CommandButton1_Click()
Dim rw As Long
Application.ScreenUpdating = False
'Me is the object that owns the code
'in this case Sheet1
With Me 'Sheets("Sheet1")
For rw = 1 To 30
If .Cells(rw, "A").Value = "" Then _
.Rows(rw).Hidden = True
Next rw
.PrintOut ' for testing use .PrintPreview
.Range("A1:A30").EntireRow.Hidden = False
End With
Application.ScreenUpdating = True
End Sub















  #6   Report Post  
Posted to microsoft.public.excel.programming
Bob Bob is offline
external usenet poster
 
Posts: 972
Default Code Does Not Work Depending On Formula

Everyone:
If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works the other suggestions don't.

The problem is this, In sheet "Production" I am actually using:
Column A Column B,C,D,E,F
=PreProduction!$H130 =IF($A130,Forecast!$B130,0)

I am doing that because if I use:
=IF(PreProduction!H22,PreProduction!D22,"")
In column A - Column B,C,D,E,F will have an error.
But the code will work.

Are there any other suggestions?

Bob






"Tom Ogilvy" wrote:

For the OP,
This wouldn't work for either of the formulas you show as being in column A.

A cell containing a formula is not considered blank.

--
Regards,
Tom Ogilvy

"Don Guillett" wrote in message
...
change to
Sub hiderows()
With ActiveSheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.PrintPreview
.Rows.Hidden = False
End With
End Sub

--
Don Guillett
SalesAid Software

"Don Guillett" wrote in message
...
Sub hiderows()
with yoursheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.print
.rows.visible=true
end with
End Sub

--
Don Guillett
SalesAid Software

"Bob" wrote in message
...
If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works.
IfI use: =Sheet2!D22 in column A (with no value)
The code does not work.
Why?
Thanks,
Bob

Private Sub CommandButton1_Click()
Dim rw As Long
Application.ScreenUpdating = False
'Me is the object that owns the code
'in this case Sheet1
With Me 'Sheets("Sheet1")
For rw = 1 To 30
If .Cells(rw, "A").Value = "" Then _
.Rows(rw).Hidden = True
Next rw
.PrintOut ' for testing use .PrintPreview
.Range("A1:A30").EntireRow.Hidden = False
End With
Application.ScreenUpdating = True
End Sub














  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6,953
Default Code Does Not Work Depending On Formula

=ISBLANK(Sheet2!A8)

will test if the source cell (sheet2!A8 in the example) is blank. Perhaps
you can use this knowledge to craft a solution.

--
Regards,
Tom Ogilvy


"Bob" wrote:

Everyone:
If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works the other suggestions don't.

The problem is this, In sheet "Production" I am actually using:
Column A Column B,C,D,E,F
=PreProduction!$H130 =IF($A130,Forecast!$B130,0)

I am doing that because if I use:
=IF(PreProduction!H22,PreProduction!D22,"")
In column A - Column B,C,D,E,F will have an error.
But the code will work.

Are there any other suggestions?

Bob






"Tom Ogilvy" wrote:

For the OP,
This wouldn't work for either of the formulas you show as being in column A.

A cell containing a formula is not considered blank.

--
Regards,
Tom Ogilvy

"Don Guillett" wrote in message
...
change to
Sub hiderows()
With ActiveSheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.PrintPreview
.Rows.Hidden = False
End With
End Sub

--
Don Guillett
SalesAid Software

"Don Guillett" wrote in message
...
Sub hiderows()
with yoursheet
.Columns(1).SpecialCells(xlBlanks).EntireRow.Hidde n = True
.print
.rows.visible=true
end with
End Sub

--
Don Guillett
SalesAid Software

"Bob" wrote in message
...
If I use: =IF(Sheet2!D22,Sheet2!D22,"") in column A (with no value)
The code below works.
IfI use: =Sheet2!D22 in column A (with no value)
The code does not work.
Why?
Thanks,
Bob

Private Sub CommandButton1_Click()
Dim rw As Long
Application.ScreenUpdating = False
'Me is the object that owns the code
'in this case Sheet1
With Me 'Sheets("Sheet1")
For rw = 1 To 30
If .Cells(rw, "A").Value = "" Then _
.Rows(rw).Hidden = True
Next rw
.PrintOut ' for testing use .PrintPreview
.Range("A1:A30").EntireRow.Hidden = False
End With
Application.ScreenUpdating = True
End Sub














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
Execute VB code depending on time of day WA Excel Discussion (Misc queries) 1 January 7th 10 07:41 PM
VBA code to automatically colour cells depending on text? mj_bowen Excel Discussion (Misc queries) 0 January 2nd 10 07:44 PM
fomula which returns the amount depending on the currency code Narnimar Excel Discussion (Misc queries) 3 November 23rd 08 12:50 PM
Obtain rate for work center, depending on year Pierre Excel Worksheet Functions 5 April 28th 08 04:12 PM
Select stock code depending on description in next column sako 338 Excel Worksheet Functions 4 March 1st 07 02:32 AM


All times are GMT +1. The time now is 11:24 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"