gpt4 book ai didi

excel - 无法获取 WorksheetFunction 的 MMult 属性

转载 作者:行者123 更新时间:2023-12-02 12:16:49 25 4
gpt4 key购买 nike

大家好,我遇到了一个奇怪的问题,请帮忙。

错误消息是:

Run-time error '1004'

Unable to get the MMult property of the WorksheetFunction class

1、我使用一个名为“schedule”的程序每天自动运行我的VBA程序,但是VBA程序每天都会失败,但是当我控制我的“调度程序”自动运行它时再次尝试重现这个错误,我无法得到它,它运行顺利。

2、出现这个错误时,Excel会显示[end][debug]窗口,我点击[debug]并按[F5]强>,运行流畅;如果 MMult 的参数不正确,它会再次显示错误。

3,我写了一个sub来转储我在mmult中使用的数据,它在发生错误和没有错误时是相同的。

所以,我可以假设 mmult 的两个参数是正确的,但为什么我每天都会收到错误消息?

最困难的事情是很难重现这个错误。

代码:

Public Function Regression(ByVal X As Variant, ByVal y As Variant)
writelog ("Regression")
writelog ("dump x")
Call dumpRange(X, 2)
writelog ("dump y")
Call dumpRange(y, 1)

Dim xtrans, temp, temp2, b
xtrans = Application.WorksheetFunction.Transpose(X)
temp = Application.WorksheetFunction.MMult(xtrans, X) ' occour error on this line
temp = Application.WorksheetFunction.MInverse(temp)
temp2 = Application.WorksheetFunction.MMult(xtrans, y)
b = Application.WorksheetFunction.MMult(temp, temp2)
Regression = b
End Function

X 是这样的范围

1  0.34343323
1 1.32323323
1 1.21111221
1 0.33444232
. ......

Windows 7 家庭高级版 64 位

Office 2010 专业版 64 位/32 位 sp1

最佳答案

试试这个。我认为这就是您遇到错误的地方

temp = Application.WorksheetFunction.MMult(xtrans,
Application.Transpose(X))

关于excel - 无法获取 WorksheetFunction 的 MMult 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com