基于VBA的方差协方差矩阵

基于VBA的方差协方差矩阵,vba,excel,Vba,Excel,上面是我尝试获取两个数据向量协方差的vba代码。但是当我以不同的方式尝试时,我得到了一个错误cov(1,1)=Application.WorksheetFunction.Covar(范围(单元格(3,6),单元格(241,6)),范围(单元格(3,7),单元格(241.7))我哪里出错了?我能帮点忙吗。谢谢不应该用逗号代替点吗 单元格(241.7)应该是单元格(241.7) 另外,值得一提的是,如果像这样标注指向应用程序.WorksheetFunction的指针,则可以将其缩短一点 cov(1,

上面是我尝试获取两个数据向量协方差的vba代码。但是当我以不同的方式尝试时,我得到了一个错误
cov(1,1)=Application.WorksheetFunction.Covar(范围(单元格(3,6),单元格(241,6)),范围(单元格(3,7),单元格(241.7))
我哪里出错了?我能帮点忙吗。谢谢

不应该用逗号代替点吗

单元格(241.7)
应该是
单元格(241.7)

另外,值得一提的是,如果像这样标注指向
应用程序.WorksheetFunction
的指针,则可以将其缩短一点

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

@海森堡:不,那只是划分了界线——化妆品。您可以删除下划线并将第二个
范围()
上移到第一个
范围()
的同一行
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)))