Thread: vba coding
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default vba coding

Use the worksheetfunction from VBA. SeeCode below.

Sub test()
Dim x As Single, n As Integer, i As Integer, fact As Integer
n = Range("b3")
x = Range("a3")
'calculate n factorial
'checking B3
If Range("B3") <= 0 Or Int(Range("B3")) < Range("B3") Then
MsgBox " integer in b3 must be greater then zero"
Exit Sub
End If

'calculate result x ^ n/fact n!
result = x ^ n / WorksheetFunction.fact(n)
Range("c3") = result

End Sub


"paul" wrote:

im using the following code

Sub test()
Dim x As Single, n As Integer, i As Integer, fact As Integer
n = Range("b3")
x = Range("a3")
'calculate n factorial
'checking B3
If Range("B3") <= 0 Or Int(Range("B3")) < Range("B3") Then
MsgBox " integer in b3 must be greater then zero"
Exit Sub
End If
fact = 1
For i = 1 To n
fact = fact * 1
Next i
'calculate result x ^ n/fact n!
result = x ^ n / fact
Range("c3") = result

where n =5 and x = 2 but is running into cell c3 32, which is 2 to the
power 5 factorial

but i want to run 2 to the power 5 divided by n factorial, does anyone
no anything i can put into this vba code to make it return this.

also i want to add some error checking, does anyone know how to add
that to the vba code

thanks