Modulus and the Mod function
One way:
Public Function Frac(ByVal inVal As Variant) As Variant
Select Case VarType(inVal)
Case vbSingle, vbDouble, vbCurrency, _
vbDate, vbInteger, vbLong
Frac = inVal - Fix(inVal)
Case Else
Frac = CVErr(xlErrValue)
End Select
End Function 'Frac()
In article ,
"Mark Woolven" wrote:
The Excel formula MOD(436.15,1) returns the value 0.15. However the Mod
function in VBA returns the value 0, as (quoting from online help) "Usually,
the data type of result is a Byte, Byte variant, Integer, Integer variant,
Long, or Variant containing a Long, regardless of whether or not result is a
whole number."
Can any kind soul indicate how I might achieve the result that the Excel
formula gives? I am basically trying to get my code to split 436.15 into two
elements, 436 and 15, so that I can print the two values to a text file
using the appropriate decimal delimiter for any given country.
Thanks in advance for any help.
Mark Woolven
|