Function 将矩阵输入函数语法vba

Function 将矩阵输入函数语法vba,function,vba,matrix,Function,Vba,Matrix,我有一个函数,输入一个矩阵,输出一个矩阵。我在这行代码中调用它 cholesky = Application.WorksheetFunction.Cholesky2(covar) 我收到的错误是运行时错误“438”:对象不支持此属性或方法 cholesky被宣布为: dim cholesky() as variant dim covar(2,2) as double covar声明为: dim cholesky() as variant dim covar(2,2) as doub

我有一个函数,输入一个矩阵,输出一个矩阵。我在这行代码中调用它

cholesky = Application.WorksheetFunction.Cholesky2(covar)
我收到的错误是运行时错误“438”:对象不支持此属性或方法

cholesky被宣布为:

dim cholesky() as variant 
dim covar(2,2) as double 
covar声明为:

dim cholesky() as variant 
dim covar(2,2) as double 

我猜这里有一些愚蠢的语法错误,我不知道。谢谢

这不是一个工作表函数,因此您得到了错误

简单地写

choelsky = choelskyfunction(covar(2,2))
它应该会起作用


另外,变量和函数也使用不同的名称。

好的,谢谢您的帮助。不幸的是,我认为它只是输入了2,2处的covar值,而不是整个矩阵。这个语法正确吗?我在函数中遇到了一个错误。这完全取决于您如何实现分解函数。在我看来,covar2,2不是生成矩阵,你需要生成一个变量矩阵,并将其输入到ch.decomposition函数。所以做一些类似的事情,dim temp as variant,temp=covar,cholesky=cholesky2temp?是的,类似这样的事情。