2014-09-25 33 views
0

我愿把求解变成这样的函数插入解决引起#VALUE犯错

功能calIRR()作为变

SolverOk SetCell:="$E$47", MaxMinVal:=3, ValueOf:=0, ByChange:="$D$48", Engine _ 
    :=1, EngineDesc:="GRG Nonlinear" 
SolverSolve 
    SendKeys "~" 

calIRR =范围( “$ d $ 48”) .value的

端功能

但它一直引起#VALUE错误。当我更改为程序时,一切正常。

回答

0

请指定范围所属的工作簿和sorksheet。试试下面的代码:。

callRR = ThisWorkbook.Sheets( “工作表Sheet1”)范围( “D48”)值

工作表Sheet1在哪里你SHEETNAME

+0

感谢您的快速的答案,但它仍然不起作用,当我调试时,在光标移动到第二行(SolverOk ....)之后,它仅仅出来并且没有结果。如果我继续按几次F8键,现在它开始移动到下一行。太奇怪了! – 2014-09-25 06:55:58

+0

Wheres your error point?它是与SolverOk还是callRR = ... – 2014-09-25 07:03:52