【发布时间】:2016-09-05 10:23:12
【问题描述】:
我正在尝试编写一个开放式办公室宏代码来使用 while 循环计算阶乘,但我发现它很困难。到目前为止,这是我的代码。任何帮助都将不胜感激。
Sub DisplayFact()
Dim n As Long
Dim nFact As Long
'Initialsing n to zero
if n = 0
return nFact = 0 ;
While n <= 4
MsgBox "n = " & n & " , nFact = " & nFact
n = n + 1
nFact= n*nFact(n-1)
Wend
End Sub
【问题讨论】:
-
你有以前版本的代码吗?
Sub不是Function和return在 VBA 中无效 -
这是软件 OpenOffice中的“开放式办公室”吗?
-
不确定 OppenOffice 中是否可用,但也许您可以使用
FactExcel 功能 -
@Slai - 是的,我唯一一次滚动自己的阶乘(使用
Decimal)是如果我需要避免Double的精度损失。 -
并且代码中隐含的零阶乘定义(=0)是错误的。它应该是 1。