用VBA拓展Excel金融函数

作者:陈国栋 更新时间:2010-09-25 10:11 点击:
【论文发表关健词】Excel VBA;NPV;金融
【职称论文摘要】
本文主要通过VBA自定义NPV函数说明如何使用VBA拓展Excel在金融分析中的应用。Excel VBA在金融分析与计算中具有广阔应用前景。

Excel在金融分析与金融计算中是非常重要的一款软件,很多金融企业应用Excel进行数据分析与管理。在Excel的函数类别中有财务类别,包含了很多与金融分析有关的函数,比如常见的NPV、IRR、PV等,为金融分析工作者提供了很大的便利。当然Excel内在的函数也有一些不足之处,比如它虽然提供了NPV函数,但是它和标准的NPV函数并不一样,而且不能提供我们需要的所有金融函数。Excel VBA是Excel的一个组件,使用它可以增强Excel的功能,从而为我们的工作提供很大的便利。本文以自定义NPV函数为例来说明如何利用Excel VBA来扩展Excel在金融分析中的应用。
  假设某项目初始投资500万元,以后连续7年每年收益100万元,求该项目的净现值。
  在Excel中建立上述模型后,在C9单元格中输入公式=NPV(B9,C2:C8)+C1,结果是20.637 01。
  注意,我们不能使用公式=NPV(B9,C1:C8)。这是因为Excel的NPV函数不是标准的NPV函数,它和标准教科书上的NPV不一样。也就是说Excel自带的NPV函数使用起来不方便。可以用VBA来自定义函数。VBA语句如下:
  Function mynpv(rate As Double, mvalue As Range)
  ′声明变量npvrange为Range类型
  Dim npvrange As Range
  Set npvrange = Range(mvalue(2), mvalue(mvalue.Count))
  ′调用VBA的NPV函数来构造标准的NPV函数
  mynpv = mvalue(1).value + Application.WorksheetFunction.NPV(rate, npvrange)
  End Function
  用VBA自定义的mynpv函数语句很简洁。现在我们来使用这个自定义函数:
  在Excel中建立上述模型后,在C9单元格中输入公式=mynpv(B9,C1:C8),结果是20.637 01,和刚才计算的结果完全一样。而且,我们在自定义了多个金融函数时可以在Excel中新建一个函数类别,这样管理函数类别就很方便。可以使用下面的VBA语句来自定义函数类别:
  Sub test()
  Application.MacroOptions macro:="mynpv", Description:="自定义NPV函数,不同于Excel的NPV函数", Category:="我的金融函数"
  End Sub
  当我们在Excel工作表中插入函数时,便出现了一个新的类别:我的金融函数。
  本文通过自定义NPV函数来说明如何用VBA拓展Excel金融函数,展示了VBA在金融分析与金融计算方面的广阔应用前景。
 

(责任编辑:nylw.net)转贴于八度论文发表网: http://www.8dulw.com(论文网__代写代发论文_论文发表_毕业论文_免费论文范文网_论文格式_广东论文网_广州论文网)
发表评论
本站模板均经测试成功,请放心下载,遇到任何问题或者需要购买付费论文请联系本站。
表情:
验证码:点击我更换图片