LinEstfunction

我试图在Excel 2010中教自己一些基本的VBA,我遇到了一个问题,我不能谷歌自己出来。 目标是创build一个button,当按下时,自动为我线,并将值写入一个数组。 到目前为止,这是我的代码。

Private Sub CommandButton1_Click() Dim linest As Variant Dim linestArray(4,1) as Variant Dim i As Integer, j as Integer linest = Application.LinEst(Range("U49:U51"), Range("T49:T51"), True, True) For i = 0 To 4 linestArray(i,0) = accessing values of linest variable fyrst column Cells(68 + i, 21) = linestArray(i,0) Next For j = 0 To 4 linestArray(j,1) = accessing values of linest variable second column Cells(68 + j, 22) = linestArray(j,0) Next End Sub 

如何访问variableslinest的值,以便我可以将它们存储到一个数组并打印它们? 谢谢。

编辑:我想通了。 variableslinest已经是一个数组了! 我觉得很笨。 对不起,这可以忽略。

新代码:

  Dim linestArray As Variant linestArray = Application.LinEst(Range("U49:U51"), Range("T49:T51"), True, True) For i = 0 To 4 For j = 0 To 1 Cells(68 + i, 21 + j) = linestArray(i + 1, j + 1) Next Next 

任何这样的公式的输出是一个Variant数组。 所以你有这个权利。

对于这些Application.的一般方法Application. (使用WorksheetFunction.相反,它更快)types的function是…

  1. 在Excel中键入函数(如果需要,可以作为数组公式, Ctrl-Shift-Return
  2. 在大多数情况下,输出是某种N×Mmatrix(N = 1,M = 1)
  3. 当您执行Var = Application.Linest(xyx) ,答案将存储在Var
  4. 使用Ubound(Var, 1)Ubound(Var, 2)获取Var的大小以获取行数和列数(注意这些是基数为0的数组)
  5. 通常,大小将是one x one 。 在这种情况下,你的variables存储在Var(0,0)即一个零基本的多维variables数组,即左上angular的元素。

希望这可以帮助。