Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 148
Default If resulting in False when it is actually true

Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through this,
it works fine. Just before the step that I flagged below, I can use the
intermediate window to determine the value of u, cells(u+1,"aa"), and item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address & "=""" & _
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address & "="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell AA2 =1,
and u=1, I do not understand why result of If item = Cells(u + 1, "aa") is
false.

TIA for any ideas.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default If resulting in False when it is actually true

HI~

Maybe..

cells(u+1,"aa") -- Range("aa" & u+1)


Goodluck


"Papa Jonah"님이 작성한 내용:

Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through this,
it works fine. Just before the step that I flagged below, I can use the
intermediate window to determine the value of u, cells(u+1,"aa"), and item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address & "=""" & _
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address & "="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell AA2 =1,
and u=1, I do not understand why result of If item = Cells(u + 1, "aa") is
false.

TIA for any ideas.

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 148
Default If resulting in False when it is actually true

that's not it

"배병*" wrote:

HI~

Maybe..

cells(u+1,"aa") -- Range("aa" & u+1)


Goodluck


"Papa Jonah"님이 작성한 내용:

Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through this,
it works fine. Just before the step that I flagged below, I can use the
intermediate window to determine the value of u, cells(u+1,"aa"), and item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address & "=""" & _
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address & "="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell AA2 =1,
and u=1, I do not understand why result of If item = Cells(u + 1, "aa") is
false.

TIA for any ideas.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default If resulting in False when it is actually true

Papa Jonah,
Are you sure your NumberFormat on aa:ad is being applied ?
Check help where it says this should take a string.
So I would guess you end up comparing a string and a number; hence False.

NickHK

"Papa Jonah" wrote in message
...
Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through

this,
it works fine. Just before the step that I flagged below, I can use the
intermediate window to determine the value of u, cells(u+1,"aa"), and

item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address & "=""" &

_
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address &

"="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell AA2

=1,
and u=1, I do not understand why result of If item = Cells(u + 1, "aa")

is
false.

TIA for any ideas.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 111
Default If resulting in False when it is actually true

Hi Jonah,
try ...
If item = Cells(u + 1, "aa").Value

I think Cells(u+1,"aa") returns a range object..From Help...

Using this property without an object qualifier returns a Range object
that represents all the cells on the active worksheet.

Hth,
OJ



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 148
Default If resulting in False when it is actually true

OJ,
I have tried adding .value. That did not work either.
This section of code was modeled after another section that does work. The
only difference is I don't think it involved numbers, but text.

"OJ" wrote:

Hi Jonah,
try ...
If item = Cells(u + 1, "aa").Value

I think Cells(u+1,"aa") returns a range object..From Help...

Using this property without an object qualifier returns a Range object
that represents all the cells on the active worksheet.

Hth,
OJ


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default If resulting in False when it is actually true

It does return a range object, but the default propety of a range object is
value, so this suggestion would not affect the results in this situation as
you have discovered. -- just for clarification.

--
Regards,
Tom Ogilvy

"Papa Jonah" wrote in message
...
OJ,
I have tried adding .value. That did not work either.
This section of code was modeled after another section that does work.

The
only difference is I don't think it involved numbers, but text.

"OJ" wrote:

Hi Jonah,
try ...
If item = Cells(u + 1, "aa").Value

I think Cells(u+1,"aa") returns a range object..From Help...

Using this property without an object qualifier returns a Range object
that represents all the cells on the active worksheet.

Hth,
OJ




  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 148
Default If resulting in False when it is actually true

NickHK,
I am not sure I understand your statement, "Check help where it says this
should take a string."
The code that I have includes a line, "Columns("aa:ad").NumberFormat = 0".

I also suspected the number vs text idea. However, I modeled this code
after another section that works fine. But even so, other than the
numberformat line, I do not know how to ensure that I am comparing numbers to
numbers and not text.

Can you clarify your statement for me. Thanks.
Papa J


"NickHK" wrote:

Papa Jonah,
Are you sure your NumberFormat on aa:ad is being applied ?
Check help where it says this should take a string.
So I would guess you end up comparing a string and a number; hence False.

NickHK

"Papa Jonah" wrote in message
...
Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through

this,
it works fine. Just before the step that I flagged below, I can use the
intermediate window to determine the value of u, cells(u+1,"aa"), and

item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address & "=""" &

_
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address &

"="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell AA2

=1,
and u=1, I do not understand why result of If item = Cells(u + 1, "aa")

is
false.

TIA for any ideas.




  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,391
Default If resulting in False when it is actually true

Papa J
If you use the macro recorder, you will get code like:
Columns("aa:ad").NumberFormat = "0"
instead of your current:
Columns("aa:ad").NumberFormat = 0

See the difference ?

However, I see that Excel does not update the data type of the value until
you edit it, so I feel even with this correction, it will still return
False.
If this proves true, you could use one of the coersion functions (CInt,
CLng, CDbl) or Val etc to be sure you are actually comparing numbers.
If floating point values are involved, decide what level tolerance you
require.

NickHK

"Papa Jonah" wrote in message
...
NickHK,
I am not sure I understand your statement, "Check help where it says this
should take a string."
The code that I have includes a line, "Columns("aa:ad").NumberFormat = 0".

I also suspected the number vs text idea. However, I modeled this code
after another section that works fine. But even so, other than the
numberformat line, I do not know how to ensure that I am comparing numbers

to
numbers and not text.

Can you clarify your statement for me. Thanks.
Papa J


"NickHK" wrote:

Papa Jonah,
Are you sure your NumberFormat on aa:ad is being applied ?
Check help where it says this should take a string.
So I would guess you end up comparing a string and a number; hence

False.

NickHK

"Papa Jonah" wrote in message
...
Below is a portion of some code I have.
It works fine up to the point that I have noted. When I step through

this,
it works fine. Just before the step that I flagged below, I can use

the
intermediate window to determine the value of u, cells(u+1,"aa"), and

item:
?item
1
?cells(u+1, "aa").value
1
?u
1
The value in cell AA2 is 1.

Columns("aa:ad").NumberFormat = 0
On Error Resume Next
For Each cell In causecats
cats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
For Each item In cats

Debug.Print item
r = r + 1
Cells(r + 1, "aa") = item

Cells(r + 1, "ab").Formula = "=sumproduct((" & causecats.Address &

"=""" &
_
Cells(r + 1, "aa") & """)*(" & causebase.Address & "))"
Next

On Error Resume Next
For Each cell In causecats
revcats.Add cell.Value, Key:=cell.Text
Next
On Error GoTo 0
r = 0
j = 0
For Each item In revcats

Debug.Print item
r = r + 1
gFound = False
u = 0
For u = 1 To (causecats.Count + revcats.Count) * 2

'the result of the following line is false. I do not know why.

If item = Cells(u + 1, "aa") Then
Cells(u + 1, "ad").Formula = "=sumproduct((" & causecats.Address &

"="""
& _
Cells(u + 1, "aa") & """)*(" & causerev.Address & "))"
gFound = True
Exit For
End If
Next


Do I have some syntax problem? formatting problem? If item=1, cell

AA2
=1,
and u=1, I do not understand why result of If item = Cells(u + 1,

"aa")
is
false.

TIA for any ideas.






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
What's the best way to toggle between true and false in Excel? Hiall, My excel work involves a lot of toggling between true and false (booleantypes) ... and it's very repetitive... Is there a way to select a bunch ofcells, and press a key short-cu LunaMoon Excel Discussion (Misc queries) 9 July 29th 08 12:28 AM
Search for 2 true arguments and return true or false David Excel Discussion (Misc queries) 3 July 15th 06 10:18 AM
Function to return True/False if all are validated as True by ISNU Tetsuya Oguma Excel Worksheet Functions 2 March 15th 06 10:28 AM
Reverse false and combine with true true value Emmie99 Excel Worksheet Functions 5 August 17th 05 04:38 PM
True Or False, no matter what... it still displays the false statement rocky640[_2_] Excel Programming 2 May 13th 04 04:57 PM


All times are GMT +1. The time now is 11:37 PM.

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"