老师,我的表包含以下几列:
NPV现值、项目投资期数、资金成本R、折现率、第一年流量、第二年流量。。。。要求:
1、项目投资期数的值从1-6时,Values(0)的列数也分别选择“第一年流量”。。。。“第六年流量”。比如当项目投资期数的值为4时,Values(0)的列数为“第一年流量”至“第四年流量”;
2、当以下数据列“项目投资期数、资金成本R、折现率、第一年流量、第二年流量。。。”任一列的值发生变动时,NPV现值的值也跟着变动。
3、如果拆现率是一个附表B,折现率的值根据项目投资期数和资金成本R的值从表B中取得。
下面的代码是根据帮助例子改造的,只有"资金成本"变动时,NPV现值才会变动,结果与帮助相同。请老师和其他大师指点,最好给出完整代码为谢!!
If e.DataCol.Name = "资金成本" The如
If e.DataRow.IsNull("资金成本") Then
e.DataRow("净现值") = Nothing
Else
Dim Guess As Double
Dim RetRate As Double
Dim NetPVal As Double
Dim Values(8) As Double
Guess = e.DataRow("资金成本")
RetRate = e.DataRow("贴现率")
Values(0) = e.DataRow("第一年流量")
Values(1) = e.DataRow("第二年流量")
Values(2) = e.DataRow("第三年流量")
Values(3) = e.DataRow("第四年流量")
Values(4) = e.DataRow("第五年流量")
Values(5) = e.DataRow("第六年流量")
Values(6) = e.DataRow("第七年流量")
Values(7) = e.DataRow("第八年流量")
e.DataRow("净现值") = NPV(e.DataRow("贴现率"), Values)
End If
End If