首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

关于一个Excel VBA函数无法输出的有关问题

2012-02-29 
关于一个Excel VBA函数无法输出的问题Function bondprice(d As Date, r As Double) As Longthe price of

关于一个Excel VBA函数无法输出的问题
Function bondprice(d As Date, r As Double) As Long

  'the price of the bond
  Dim t(9) As Double
  t(0) = (Application.Date(2013, 7, 15) - d) / 365
  t(1) = (Application.Date(2013, 1, 15) - d) / 365
  t(2) = (Application.Date(2012, 7, 15) - d) / 365
  t(3) = (Application.Date(2012, 1, 15) - d) / 365
  t(4) = (Application.Date(2011, 7, 15) - d) / 365
  t(5) = (Application.Date(2011, 1, 15) - d) / 365
  t(6) = (Application.Date(2010, 7, 15) - d) / 365
  t(7) = (Application.Date(2010, 1, 15) - d) / 365
  t(8) = (Application.Date(2009, 7, 15) - d) / 365
  t(9) = (Application.Date(2009, 1, 15) - d) / 365
  
  bondprice = 0
  
  For i = 1 To 9
  If t(i) > 0 Then
  bondprice = bondprice + 2 * Exp(-r * t(i))
  Else
  bondprice = bondprice
  End If
  Next i
   
  If t(0) > 0 Then
  bondprice = bondprice + 102 * Exp(-r * t(0))
  Else
  bondprice = bondprice
  End If
   
End Function

我是刚刚开始学习VBA的,也没有看什么入门书。所以都不知道怎么调试。想问一下为什么无法输出正常数值结果?

[解决办法]
除非你赋值到一个单元格,否则怎么可能显示?你这里没有输出语句,你预期什么输出?
而且你债券的定价似乎是错误的,不需要乘以2

探讨
就是Excel、里面这个函数根本没用,无法输出结果。

[解决办法]
要输出到单元格,你需要用诸如:ActiveSheet.Range("A1")="haha"
这种基本的东西你需要找本VBA编程的东西系统学吧?瞎试怎么可能搞对

热点排行