gpt4 book ai didi

vba - 运行时错误 : 1004 Reference is Not Valid resulting from Goal Seek

转载 作者:行者123 更新时间:2023-12-04 22:07:46 27 4
gpt4 key购买 nike

首先,这是有问题的 Excel 图表,在运行代码之前:

enter image description here

并在运行代码后:

enter image description here

这是有问题的代码:

Option Explicit

Dim Counter As Long
Dim DeSimpleFinal As Double

Sub SimpleDeCalculationNEW()

Counter = 13
Range("C1") = "CFL Calculated"
Range("D1") = "Residual Squared"
Range("E1") = "De value"
Range("F1") = 0.2

'Inserting Equations
Range("C2") = "=((2 * $H$2)/ $H$1) * SQR(($F$1 * A2) / PI())"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C" & Counter + 1), Type:=xlFillDefault

Range("D2") = "=((ABS(B2-C2))^2)"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D" & Counter + 1), Type:=xlFillDefault

'Summing up the residuals squared
Range("D" & Counter + 2) = "=Sum(D2, D" & Counter + 1 & ")"

Columns("A:Z").EntireColumn.EntireColumn.AutoFit

'Goal Seek
Range("D" & Counter + 2).GoalSeek Goal:=0, ChangingCell:=Range("F1")

DeSimpleFinal = Range("F1")
'Range("XFD1048523") = DeSimpleFinal

MsgBox ("The Final Value for DeSimple is: " & DeSimpleFinal)

End Sub

我不断收到此错误,运行时错误:1004 引用无效,以及工作表上的所有这些名称错误。有人知道我该如何解决这个问题吗?我正在尝试使残差的平方和尽可能接近零,以便尽可能适合我的数据。我通过使用 Goal Seek 来做到这一点,它改变了 F1 中给出的 De 的值,以最小化 D15 中给出的残差平方和。

我之前已经让这种方法正常工作,但我不确定它为什么在这里失败。任何建议都会很棒!

最佳答案

我不确定这是否能解决所有问题,但将您的功能行更改为以下内容:

Range("C2").Formula = "=((2 * $H$2)/ $H$1) * SQRT(($F$1 * A2) / PI())"

( SQRT 而不是 SQR )

附加提示,有时最好正确命名对象属性,在您的情况下,我建议使用 .Formula将函数插入范围时,例如:
Range("C2").Formula = "=((2 * $H$2)/ $H$1) * SQRT(($F$1 * A2) / PI())"
Range("D2").Formula = "=((ABS(B2-C2))^2)"
Range("D" & Counter + 2).Formula = "=Sum(D2, D" & Counter + 1 & ")"

我知道它通常可以正常工作,但我的建议是我坚持的一个好习惯:)

关于vba - 运行时错误 : 1004 Reference is Not Valid resulting from Goal Seek,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16903899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com