VBA中的LINEST公式出错

时间:2017-09-04 12:55:50

标签: excel vba excel-vba

我收到错误

  

无法设置范围类

的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个字符。

真的很感激任何关于此的建议! (:谢谢。

1 个答案:

答案 0 :(得分:1)

我认为应该这样做

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