ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   VBA check to see if variable value is odd but not equal to 1 (https://www.excelbanter.com/excel-discussion-misc-queries/166825-vba-check-see-if-variable-value-odd-but-not-equal-1-a.html)

Dave L[_2_]

VBA check to see if variable value is odd but not equal to 1
 
I need to run a subroutine based on a variable value. I'm sure it'll be an if
statement, but how do I tell something not to run if a specific variable's
value is an odd number but not equal to 1.

Dave Peterson

VBA check to see if variable value is odd but not equal to 1
 
dim myVal as variant
myval = workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value
'is it a number
if isnumeric(myval) then
'is it different from 1
if myval < 1 then
'is it a whole number
if myval = int(myval) then
if (myval/2) < int(myval/2) then
'it's odd
'do your stuff here, like:
msgbox myval
end if
end if
end if
end if


Dave L wrote:

I need to run a subroutine based on a variable value. I'm sure it'll be an if
statement, but how do I tell something not to run if a specific variable's
value is an odd number but not equal to 1.


--

Dave Peterson

carlo

VBA check to see if variable value is odd but not equal to 1
 
Or with not that many lines, but basically the same:

dim myVal as variant
myval =
workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value

if isnumeric(myval) AND myval < 1AND myval mod 2 = 1 then
'do your stuff here, like:
msgbox myval
end if

unless you need to find out which statement did fail you can use the
short form.

hth

Carlo


On Nov 21, 7:26 am, Dave Peterson wrote:
dim myVal as variant
myval = workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value
'is it a number
if isnumeric(myval) then
'is it different from 1
if myval < 1 then
'is it a whole number
if myval = int(myval) then
if (myval/2) < int(myval/2) then
'it's odd
'do your stuff here, like:
msgbox myval
end if
end if
end if
end if

Dave L wrote:

I need to run a subroutine based on a variable value. I'm sure it'll be an if
statement, but how do I tell something not to run if a specific variable's
value is an odd number but not equal to 1.


--

Dave Peterson



Pete_UK

VBA check to see if variable value is odd but not equal to 1
 
I read the OP's request as NOT wanting something to run if the
variable's value was odd but not equal to 1, i.e. he DOES want it to
run if equal to 1 or even. I think you (and Dave) have the logic the
wrong way round.

Pete

On Nov 21, 12:58 am, carlo wrote:
Or with not that many lines, but basically the same:

dim myVal as variant
myval =
workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value

if isnumeric(myval) AND myval < 1AND myval mod 2 = 1 then
'do your stuff here, like:
msgbox myval
end if

unless you need to find out which statement did fail you can use the
short form.

hth

Carlo

On Nov 21, 7:26 am, Dave Peterson wrote:



dim myVal as variant
myval = workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value
'is it a number
if isnumeric(myval) then
'is it different from 1
if myval < 1 then
'is it a whole number
if myval = int(myval) then
if (myval/2) < int(myval/2) then
'it's odd
'do your stuff here, like:
msgbox myval
end if
end if
end if
end if


Dave L wrote:


I need to run a subroutine based on a variable value. I'm sure it'll be an if
statement, but how do I tell something not to run if a specific variable's
value is an odd number but not equal to 1.


--


Dave Peterson- Hide quoted text -


- Show quoted text -



Dave Peterson

VBA check to see if variable value is odd but not equal to 1
 
Could be. Or maybe not. <bg.

That's why I like to use parens in my code (and in text!).

Does
Not A And B
mean
(not A) and B
or
Not (A and B)




Pete_UK wrote:

I read the OP's request as NOT wanting something to run if the
variable's value was odd but not equal to 1, i.e. he DOES want it to
run if equal to 1 or even. I think you (and Dave) have the logic the
wrong way round.

Pete

On Nov 21, 12:58 am, carlo wrote:
Or with not that many lines, but basically the same:

dim myVal as variant
myval =
workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value

if isnumeric(myval) AND myval < 1AND myval mod 2 = 1 then
'do your stuff here, like:
msgbox myval
end if

unless you need to find out which statement did fail you can use the
short form.

hth

Carlo

On Nov 21, 7:26 am, Dave Peterson wrote:



dim myVal as variant
myval = workbooks("someworkbook.xls").worksheet("somesheet ").range("x99").value
'is it a number
if isnumeric(myval) then
'is it different from 1
if myval < 1 then
'is it a whole number
if myval = int(myval) then
if (myval/2) < int(myval/2) then
'it's odd
'do your stuff here, like:
msgbox myval
end if
end if
end if
end if


Dave L wrote:


I need to run a subroutine based on a variable value. I'm sure it'll be an if
statement, but how do I tell something not to run if a specific variable's
value is an odd number but not equal to 1.


--


Dave Peterson- Hide quoted text -


- Show quoted text -


--

Dave Peterson


All times are GMT +1. The time now is 01:09 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com