我在这里捕获了救命稻草,所以任何帮助都会很棒(即,我不知道我在用 VBA 做什么)。
我正在尝试通过创建目标搜索宏来解决 Excel 中的循环引用问题 - 基本上
S3 = M + S2
,S3 = L * G
。
我想通过改变 M 来使 S3 的目标等于 L * G
。
所以,我已经放了
L * G
位于单元格H32
中,H18
中的S3
,G18
中的M
,- F18 中的
S2
这是我迄今为止收集到的。
Sub GoalSeek()
Dim x As Integer
x = Range("H32").Value
Range("H18").GoalSeek Goal:=x, ChangingCell:=Range("G18")
End Sub
我收到“引用无效”错误,有什么想法吗? 谢谢!
最佳答案
如果 GoalSeek 单元格包含值而不是公式,或者如果 ChangeCell 包含公式而不是值或不包含任何内容,则 GoalSeek 将引发“无效引用”错误。
GoalSeek 单元格必须包含直接或间接引用 ChangingCell 的公式;如果公式没有以某种方式引用ChangingCell,GoalSeek 可能不会收敛到答案,或者可能会产生无意义的答案。
我使用与您不同的 GoalSeek 公式测试了您的代码(我不太清楚某些术语是否引用单元格或值)。
对于测试,我设置:
the GoalSeek cell H18 = (G18^3)+(3*G18^2)+6
the Goal cell H32 = 11
the ChangingCell G18 = 0
代码是:
Sub GSeek()
With Worksheets("Sheet1")
.Range("H18").GoalSeek _
Goal:=.Range("H32").Value, _
ChangingCell:=.Range("G18")
End With
End Sub
代码生成了(正确)答案 1.1038,即 G18 的值,H18 中的公式在该值处生成值 11,这是我正在寻求的目标。
关于excel - 目标以目标为公式寻求宏观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18139322/