我正在尝试在Excel 2010中自学一些基本的VBA,而且我遇到了一个我不能谷歌自己的问题。目标是创建一个按钮,按下时,自动为我做直线并将值写入数组。到目前为止,这是我的代码。
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
如何访问变量linest的值,以便将它们存储到数组并打印出来?谢谢。
编辑:我明白了。变量linest已经是一个数组!我觉得很傻。对不起,这可以忽略。
新代码:
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
答案 0 :(得分:1)
任何此类公式的输出都是Variant数组。所以你已经掌握了这一部分。
对于这些Application.
的一般方法(使用WorksheetFunction.
代替它,它的速度要快得多)类型函数是......
Ctrl-Shift-Return
,如果需要)Var = Application.Linest(xyx)
时,答案将存储在Var
Var
,Ubound(Var, 1)
获取Ubound(Var, 2)
的大小以获取行数和列数(请注意这些是基本0类型数组)one x one
。在这种情况下,您的变量存储在Var(0,0)
中,即零基多维变体数组,左上角元素。希望这有帮助。