VBA is odd function

  • Thread starter Thread starter Robert Dieckmann
  • Start date Start date
R

Robert Dieckmann

Is there a function in VBA that is equivalent to the isodd function in
Excel? If one of my text values is odd I need to print a certain range, if
even another range. I am using Excel 2000.
Bob
 
You could use the mod operator which finds the remainder. So if a
number is divided by 2 and the remainder is 1, then it is odd. If a
number is divided by 2 and the remainder is 0, then it is even.

Try this:

Temp = Val("Text") <--Put text in number format

If Temp Mod 2 = 1 Then <--Odd
......

Else '<---Even
........
 
I am still having some trouble implementing this.

I use a text box on a form to enter a value into the spreadsheet using the
control source- txtHt.value = 25 for example.

the following code prints out A53:AI104 like I want it to.

If chkBld.Value = True Then
Odd = Val("25")
If Odd Mod 2 = 1 Then
Sheets("Buildup").Select
Range("A53:AI104").Select
Selection.PrintOut Copies:=1, Collate:=True
Else
Sheets("Buildup").Select
Range("A1:AI52").Select
Selection.PrintOut Copies:=1, Collate:=True
End If
End If

These always print out A1:AI52 (the rest of the code being the same)
Odd = Val(txtHt)
Odd = Val("txtHt")

These give me an object required error
Odd = Val(txtHt.Value)
Odd = txtHt.Value

What I am I missing?
Bob
 
Robert said:
I am still having some trouble implementing this.

I use a text box on a form to enter a value into the spreadsheet using the
control source- txtHt.value = 25 for example.

the following code prints out A53:AI104 like I want it to.

If chkBld.Value = True Then
Odd = Val("25")
If Odd Mod 2 = 1 Then
Sheets("Buildup").Select
Range("A53:AI104").Select
Selection.PrintOut Copies:=1, Collate:=True
Else
Sheets("Buildup").Select
Range("A1:AI52").Select
Selection.PrintOut Copies:=1, Collate:=True
End If
End If

These always print out A1:AI52 (the rest of the code being the same)
Odd = Val(txtHt)
Odd = Val("txtHt")

These give me an object required error
Odd = Val(txtHt.Value)
Odd = txtHt.Value

What I am I missing?
Bob

Hi,

The only way I can figure out how you are getting an "object required"
error at the line Odd = Val(txtHt.Value) is if you are not using option
explicit and if you have mistyped the name of the textbox. Check the
name in the properties of the textbox. Val wouldn't throw such an error
but txtHt.value might.

Hope that helps

-John Coleman

-John Coleman
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top