Excel VBA中引用公式单元格

工作表中B11和B12里面分别是公式,B11=EXP(B5*SQRT(B10)),B12==EXP(-B5*SQRT(B10)),在VBA中引用这两个单元格时,u=Ran... 工作表中B11和B12里面分别是公式,
B11=EXP(B5*SQRT(B10)),B12==EXP(-B5*SQRT(B10)),
在VBA中引用这两个单元格时,
u = Range("B11")
d = Range("B12")
返回值却都是1,是哪出错了?应该怎么改?

Sub BinomialTrees()
Dim i As Integer, j As Integer
Dim u As Long, d As Long, p As Long
Dim S(1 To 5, 1 To 5) As Long, V(1 To 5, 1 To 5) As Long
'S(i,j):标的资产在第i个节点第j高的价格,V(i,j):相应期权的价值。
S(1, 1) = Worksheets("Sheet1").Range("B2").Value
u = Range("B11")
d = Range("B12")
For i = 1 To 5
For j = 1 To i
S(i, j) = S(1, 1) * (u ^ (i - j)) * (d ^ (j - 1))
Worksheets("Sheet1").Cells(50 - 2 * (i - 1) + 4 * (j - 1), 5 + 2 * (i - 1)).Value = S(i, j)
Next j
Next i

End Sub
展开
 我来答
太极健1969
2011-03-13 · TA获得超过9034个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3624万
展开全部
你的单元格B5或B10有一个是0或空,那么不管你是否加-号,EXP的值都为1
而你定义这两个数的变量为long为整数型,就是说那两个值会向上取整数。具体错哪要看你的表是怎么样的了。
你的结果都是0,且B2取值大小,会造成溢出错误
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式