你写的公式挺复杂,LinEst函数我刚看了看,还不太理解函数的全部作用。自己简单试了试,VBA中使用有些注意事项:LinEst返回值是数组,需要用数组变量接收公式返回值:
Dim a() As Variant
Cells(7, 5).Formula = "= INDEX(LINEST(B2:B11,A2:A11),2)"
a = Application.WorksheetFunction.LinEst(Range("B2:B11"), Range("A2:A11"))
Cells(9, 5).Value = a(2)
上面代码中a(2),就是= INDEX(LINEST函数(……),2)的值,说明计算成功了。
你问题中LinEst前面没有 使用Application.WorksheetFunction.限定,还有你怎么处理计算结果?是不是这些地方出错了?
希望能给你一些启发。