首页 理论教育 VBA编码实现-云计算应用开发实践

VBA编码实现-云计算应用开发实践

时间:2023-11-20 理论教育 版权反馈
【摘要】:Cells对象必须使用确切的行列号来获得单元格的值,而Range则可以使用标签地址。比如取得B5单元格的值,若使用Cells对象需要用Cells(5,2).Value。VBA提供了Rnd方法取得0到1之间的双精度浮点随机数。图8-16 蒙特卡罗模拟投资分析结果通过8.1节和8.2节的描述,相信读者已经对使用Excel开发应用有了一个基本认识。

VBA编码实现-云计算应用开发实践

1.获取单元格中的输入参数

根据上面的需求分析,首先需要从Excel的单元格中获取所需要的数据。

获取单元格内的数据一般可以使用Cells对象或Range对象。Cells对象必须使用确切的行列号来获得单元格的值,而Range则可以使用标签地址

比如取得B5单元格的值,若使用Cells对象需要用Cells(5,2).Value。而使用Range对象获取则要用Range(B5).Value。

具体取得单元格值的代码如代码清单8-8所示。

【代码清单8-8】

978-7-111-36687-4-Chapter08-24.jpg

2.确定随机采样点的计算方法

使用蒙特卡罗模拟算法必须要用随机算法生成指定范围的随机数。VBA提供了Rnd方法取得0到1之间的双精度浮点随机数。由于程序主要是受收入与成本变化的影响,因此利用Rnd方法并结合变化范围,可以得到,随机收入与成本,如代码清单8-9所示。

【代码清单8-9】

978-7-111-36687-4-Chapter08-25.jpg(www.xing528.com)

3.多次循环取得概率值

循环会产生随机采样点,选择那些收益率大于15%的点,并取得所有采样点的总数,最后就可以计算出概率。分别就收入发生变化,成本发生变化以及成本和收入都发生变化时计算收益率,并计算出每种变化收益率大于15%的概率,如代码清单8-10所示。

【代码清单8-10】

978-7-111-36687-4-Chapter08-26.jpg

978-7-111-36687-4-Chapter08-27.jpg

单击“Excel本地计算”按钮,得到执行结果如图8-16所示(请读者参见光盘中的代码sample8\Excel蒙特卡罗模拟.xls)。

978-7-111-36687-4-Chapter08-28.jpg

图8-16 蒙特卡罗模拟投资分析结果

通过8.1节和8.2节的描述,相信读者已经对使用Excel开发应用有了一个基本认识。在下一节我们将把Excel与云计算结合在一起

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈