ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Return fractional part of values (https://www.excelbanter.com/excel-programming/399430-return-fractional-part-values.html)

XP

Return fractional part of values
 
In an internal VBA calculation, I need to return the fractional part of a
value in a cell.

For example,

5.35 returns 0.35

7.00 returns 0

I thought: dValue = ActiveCell.Value Mod 1

would do it, but this doesn't work...don't know why...

Thanks much in advance for your assistance.

Niek Otten

Return fractional part of values
 
<doesn't work What does that mean?

From Excel Help:

The modulus, or remainder, operator divides number1 by number2 (rounding floating-point numbers to integers)

Try:

Function test(a As Double) As Double
test = a - Int(a)
End Function

Use "Fix" instead of "Int" depending on what you require; see VBA Help

--
Kind regards,

Niek Otten
Microsoft MVP - Excel


"XP" wrote in message ...
| In an internal VBA calculation, I need to return the fractional part of a
| value in a cell.
|
| For example,
|
| 5.35 returns 0.35
|
| 7.00 returns 0
|
| I thought: dValue = ActiveCell.Value Mod 1
|
| would do it, but this doesn't work...don't know why...
|
| Thanks much in advance for your assistance.



Bob Umlas, Excel MVP

Return fractional part of values
 
Fraction = Activecell.Value - INT(Activecell.Value)

"XP" wrote:

In an internal VBA calculation, I need to return the fractional part of a
value in a cell.

For example,

5.35 returns 0.35

7.00 returns 0

I thought: dValue = ActiveCell.Value Mod 1

would do it, but this doesn't work...don't know why...

Thanks much in advance for your assistance.


JE McGimpsey

Return fractional part of values
 
don't know why...

The operative sentence in XL/VBA Help ("Mod"):

The modulus, or remainder, operator divides number1 by number2
***(rounding floating-point numbers to integers)***

Instead use

With ActiveCell
dValue = .Value - Fix(.Value)
End With

In article ,
XP wrote:

In an internal VBA calculation, I need to return the fractional part of a
value in a cell.

For example,

5.35 returns 0.35

7.00 returns 0

I thought: dValue = ActiveCell.Value Mod 1

would do it, but this doesn't work...don't know why...

Thanks much in advance for your assistance.



All times are GMT +1. The time now is 12:23 AM.

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