Vba 运行时错误:目标搜索导致1004引用无效

Vba 运行时错误:目标搜索导致1004引用无效,vba,excel,excel-2010,solver,Vba,Excel,Excel 2010,Solver,首先,在运行代码之前,这里是有问题的Excel图表: 运行代码后: 以下是相关代码: 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("

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

运行代码后:

以下是相关代码:

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引用无效,以及工作表上的所有名称错误。有人知道我怎么解决这个问题吗?我试图得到尽可能接近于零的残差平方和,以便得到数据的最佳拟合。我通过使用目标搜索来实现这一点,它改变了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 & ")"

我知道它通常能起作用,但我的建议是我坚持的一个好习惯:)

哪一行会出现错误1004??射程(“D”和计数器+2)。GoalSeek目标:=0,ChangingCell:=射程(“F1”)是的!这是SQRT的事情!为什么总是一些小而愚蠢的事情。感谢您对对象属性的建议!