我的MInverse函数在VBA中不起作用

我的MInverse函数在VBA中不起作用,vba,excel,Vba,Excel,编辑:我修正了它,ReDim和all从0开始,而不是1,所以我有一个空的单元格,不应该在那里! 现在可以了,谢谢你的帮助 我试图获取一个矩阵并将其反转,但由于某种原因,我得到了以下错误: 无法获取WorksheetFunction类的MInverse属性 我的(相关)代码如下: Dim covar() As Variant ReDim covar(UBound(assetNames), UBound(assetNames)) Dim corr() As Double ReDim corr(UBo

编辑:我修正了它,ReDim和all从0开始,而不是1,所以我有一个空的单元格,不应该在那里! 现在可以了,谢谢你的帮助

我试图获取一个矩阵并将其反转,但由于某种原因,我得到了以下错误:

无法获取WorksheetFunction类的MInverse属性

我的(相关)代码如下:

Dim covar() As Variant
ReDim covar(UBound(assetNames), UBound(assetNames))
Dim corr() As Double
ReDim corr(UBound(assetNames), UBound(assetNames))

Dim covarTmp As Double
For i = 0 To UBound(assetNames) - 1
    For j = 0 To UBound(assetNames) - 1
        covarTmp = 0
        For t = 1 To wantedT
            covarTmp = covarTmp + (Log((prices(histAmount + 1 - t, i + 1)) / (prices(histAmount - t, i + 1))) - mu(i) * dt) * (Log((prices(histAmount + 1 - t, j + 1)) / (prices(histAmount - t, j + 1))) - mu(j) * dt)
        Next t
        covar(i, j) = covarTmp * (1 / ((wantedT - 1) * dt))
        corr(i, j) = covar(i, j) / (sigma(i) * sigma(j))
    Next j
Next i


Dim covarInv() As Variant
ReDim covarInv(UBound(assetNames), UBound(assetNames))
'ReDim covar(1 To UBound(assetNames), 1 To UBound(assetNames))

covarInv = Application.WorksheetFunction.MInverse(covar)
最后一行是发生错误的地方


我尝试过很多方法,将covar和covarInv dim设置为双精度、变量等。covar和covarInv上有不同的重读。

您没有说您使用的是哪个版本的Excel,但对于Excel 2010,Minverse的最大限制似乎是200*200(对于Excel 2003,可能是80*80左右):您有多少资产名称?

无法获取WorksheetFunction类的MInverse属性。
52 x 52根据2003年的文档。。我目前有6项资产。