本人在学excel金融建模,下面的代码是调用规划求解,求解有卖空限制的有效投资组合,但是运行时,会出现:Range作用于对象'Global‘时失败,新手不懂,求高人指点呀
Option Explicit
Sub Solve()
SolverOk SetCell:="$b$27", MaxMinVal:=1, ValueOf:="0", ByChange:="$b$19:$b$22"
SloverSolve UserFinish:=True
End Sub
Sub doit()
Dim counter
Range("Results").ClearContents
For counter = 1 To 40
Range("constant") = -0.04 + counter * 0.005
Solve
Application.SendKeys ("{Enter}")
Range("Result").Cells(counter, 1) = ActiveSheet.Range("constant")
Range("Result").Cells(counter, 2) = ActiveSheet.Range("portfolio_sigma")
Range("Result").Cells(counter, 3) = ActiveSheet.Range("portfolio_mean")
Range("Result").Cells(counter, 4) = ActiveSheet.Range("x_1")
Range("Result").Cells(counter, 5) = ActiveSheet.Range("x_2")
Range("Result").Cells(counter, 6) = ActiveSheet.Range("x_3")
Range("Result").Cells(counter, 7) = ActiveSheet.Range("x_4")
Next counter
End Sub


雷达卡






出错的是Range("Results").ClearContents,可是我定义了Results啊
京公网安备 11010802022788号







