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