您好我正在尝试使用命名单元格中的值作为目标值在VBA中构建一个goalseek。我使用了以下源代码,但它不起作用。 你能帮我吗?
谢谢!
Worksheets("Assumptions & Results").Range("EIRRHybrid").GoalSeek Goal:=Worksheets("Assumptions & Results").Range("TargetEIRR").Value, ChangingCell:=Worksheets("Assumptions & Results").Range("Revenues_for_PV")
答案 0 :(得分:1)
首先确保EIRRHybrid
具有公式,直接或间接引用ChangingCell
(命名范围Revenues_for_PV
)
其次,范围Revenues_for_PV
应该是单个单元格。如果您的范围Revenues_for_PV
包含多个单元格,则可以改为使用Solver,或使用.Range("Revenues_for_PV").Cells(1, 1)
仅更改第一个单元格。
我还建议您使用With
语句。它使您的代码更加清晰和快速:
With Worksheets("Assumptions & Results")
.Range("EIRRHybrid").GoalSeek _
Goal:=.Range("TargetEIRR").Value, _
ChangingCell:=.Range("Revenues_for_PV").Cells(1,1)
End With