与VBA中的LINEST公式错误

我得到这个错误

无法设置范围类的formulaarray属性

Dim i As Integer For i = 0 To 10 Range("AE3:AE5").Select Selection.FormulaArray = _ "=LINEST(R[0+i]C[-12]:R[51+i]C[-12],R[0+i]C[-6]:R[51+i]C[-4],TRUE,TRUE)" Range("AE5").Select Selection.Copy Cells(3 + i, 29).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Next i End Sub 

我在网上读到,这是由于字符长度大于255。 但是我不太明白上面的FormulaArray是如何超过255个字符的。

真的很感激任何意见! (: 谢谢。

我认为这应该做到这一点

 Sub x() Dim i As Integer For i = 0 To 10 Range("AE3:AE5").FormulaArray = _ "=LINEST(R[" & i & "]C[-12]:R[" & 51 + i & "]C[-12],R[" & i & "]C[-6]:R[" & 51 + i & "]C[-4],TRUE,TRUE)" Cells(3 + i, 29).Value = Range("AE5").Value Next i End Sub