我正在尝试为我的excel模型制作目标搜索宏。是否有可能创建一个宏ChangingCell
不是一个硬值,而是一个引用硬值的相等公式。
Range("D1").GoalSeek Goal:=0.17, ChangingCell:=Range("D424")
因此,在这种情况下,单元格D424将=另一个具有硬值的单元格。我可以将ChangingCell
直接设置为D424的原因是,更改单元格的目标搜索参考会根据文件上的各种选择而更改。
答案 0 :(得分:1)
您可以使用单元格D424上的DirectPrecedents方法为要更改的单元格创建范围对象。这是假设D424仅指一个细胞。
Sub MyGoalSeek()
Dim precedentRange As Range
Set precedentRange = Range("D424").DirectPrecedents
Range("D1").GoalSeek Goal:=0.17, ChangingCell:=precedentRange
End Sub
答案 1 :(得分:0)
Public Function GoalSeek(Goal As Double, ChangingCell As Range) As Double
Dim changingCellVal As Double
'Ensure the user only passes in a single cell, not a range of cells
if(ChangingCell.Rows.Count = 1 And ChangingCell.Columns.Count = 1) Then
changingCellVal = ChangingCell.Value
end if
'Calculate GoalSeek
GoalSeek = 0
End Function