View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
jlclyde jlclyde is offline
external usenet poster
 
Posts: 410
Default UDF Function Not working

On Feb 16, 2:18*pm, Sheeloo <Click on my name above to get
instructions for getting my email id wrote:
There is nothing wrong with your formula.

I entered
"Final Size:" in B5,
36 1/8 X 40 17/32 in B7 (because of Offset(2, 0) in the code),
=FCarea() in A1
and got 1464.191406 as the result.



"jlclyde" wrote:
I have two functions. *One to split out each side of a measurement .....
36 1/8 X 40 17/32. *This is in one cell. *The functions are supposed
to take and find the square inches of the measurements. *So in this
case FCArea would be 36.125 * 40.53125. *It is finding the right cell
and all of the right information seems to be going to the right
places, then it returns a #value. *Any help will be greatly
appreciated.


Thanks,
Jay


Function FCarea() As Double
* * Application.Volatile
* * Dim Fnd As String
* * Dim L As String, R As String, X As Integer
* * Fnd = Range("B:B").Find(what:="Final Size:").Offset(2, 0).Value
* * X = InStr(1, Fnd, "X", 1)
* * L = Left(Fnd, X - 1)
* * R = Right(Fnd, Len(Fnd) - X)
* * FCarea = Frac2Num(L) * Frac2Num(R)
End Function


Function Frac2Num(ByVal X As String) As Double
* * * Dim P As Integer, N As Double, Num As Double, Den As Double
* * * * *X = Trim$(X)
* * * * *P = InStr(X, "/")


* * If P = 0 Then
* * * * N = Val(X)
* * Else
* * * * Den = Val(Mid$(X, P + 1))


* * * * If Den = 0 Then Error 11 * *' Divide by zero
* * * * * * * * X = Trim$(Left$(X, P - 1))
* * * * * * * * P = InStr(X, " ")
* * * * If P = 0 Then
* * * * * * Num = Val(X)
* * * * Else
* * * * * * Num = Val(Mid$(X, P + 1))
* * * * * * N = Val(Left$(X, P - 1))
* * * * End If
* * * * End If
* * * * If Den < 0 Then
* * * * * * N = N + (Num / Den)
* * End If
Frac2Num = N
End Function- Hide quoted text -


- Show quoted text -


Sheelo,
I am glad that it working for you. I wish it was working for me. Any
thoughts?
Thanks,
Jay