使用VBA的变量协方差矩阵

时间:2014-10-23 09:13:30

标签: vba excel-vba excel

cov(1, 1) = Application.WorksheetFunction.Covar(Range("f3:f241"), Range("h3:h41"))

上面是我试图获得两个数据向量的协方差的vba代码。但当我以不同的方式尝试时,我收到了错误

cov(1, 1) = Application.WorksheetFunction.Covar(Range(Cells(3, 6), Cells(241, 6)), Range(Cells(3, 7), Cells(241.7)))

我哪里出错了?可以请一些帮助。感谢

1 个答案:

答案 0 :(得分:2)

不应该有逗号而不是点吗?

Cells(241.7)应为Cells(241, 7)

另外,值得一提的是,如果将指针标注为Application.WorksheetFunction,可以缩短这一点

Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction

cov(1,1) = wf.Covar(Range("f3:f241"), Range("h3:h41"))
' or
cov(1,1) = wf.Covar(Range(Cells(3, 6), Cells(241, 6)), _ 
                    Range(Cells(3, 7), Cells(241,7)))