Thread: If condition
View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein \(MVP - VB\)[_1478_] Rick Rothstein \(MVP - VB\)[_1478_] is offline
external usenet poster
 
Posts: 1
Default If condition

The _ (when it follows a space and is at the end of the line) is a line
continuation character... it means the line below will be treated as a
continuation the line in which it appears. It is useful to keep your long
statements from running out of view on the right side of the code window. It
is particularly useful in newsgroup postings when applied within a
newsreader's line wrapping length as it allows the code to be copy/pasted
exactly as posted. Here is a shorter example to show you what I mean... this

Combo = String1 & String2

is exactly equivalent to this....

Combo = String1 & _
String2

Note: You can't use line continuation with a String constant... you must
break it apart and line continue the concatenated parts. For example, if you
wanted to line continue this assignment...

TextVariable = "This is a line of text to demonstrate what I mean"

You **cannot** do it this way...

TextVariable = "This is a line of text to _
demonstrate what I mean"

Nor can you do it this way either...

TextVariable = "This is a line of text to" _
"demonstrate what I mean"

Rather, you would have to do it this way...

TextVariable = "This is a line of text to " & _
"demonstrate what I mean"

Rick


"Rpettis31" wrote in message
...
The only reason I was doing the one liner was this is in a loop and kept
giving me an error Next without for. I am assuming the _ takes care of
that
issue.

"Rick Rothstein (MVP - VB)" wrote:

Personally, I think one-liner If-Then statements should be confined to
when
the entire statement would be **short** (otherwise it will be hard to
read
when you come back to your code six months from now to modify it) and
your
code line does not qualify, so I would write it this way...

If Cells(Valid, 13) < "" And Cells(Valid, 19) < "" And _
(Cells(Valid, 19) - Cells(Valid, 13)) < 20 Then
Cells(Valid, 30) = Cells(Valid, 8) & CEDissue
End If

However, if you are insistent in listing it on one line, this what it
would
look like (your newsreader will probably wrap the line because of it
length,
so you will have to account for that)

If Cells(Valid, 13) < "" And Cells(Valid, 19) < "" And (Cells(Valid,
19) -
Cells(Valid, 13)) < 20 Then Cells(Valid, 30) = Cells(Valid, 8) & CEDissue

By the way, note that I changed your cell value tests of greater than ""
to
not equal to "" which is what I assumed you were trying to check.

Rick


"Rpettis31" wrote in message
...
Is there a way to have this condition read in this one line.
IF cells(valid,13)"" and (cells(valid,19)""and
((cells(valid,19)-cells(valid,13))< 20 then
cells(valid,30)=cells(valid,8)&CEDissue

I am sure I am not following the correct syntax for the nested if but I
am
having a hard time finding the correct syntax in this case.

Thanks