excel vba 自定义函数

发布网友 发布时间:2022-04-21 08:58

我来回答

3个回答

热心网友 时间:2023-06-24 15:49

你的自定义函数易失性函数,不会自动更新,你只要在使用函数的公式后面加上强制更新的东西就行了
比如你的公式的结果是文本型的,那么
=pbs()&T(NOW())
比如你的公式的结果是数值型的,那么
=pbs()+N(T(NOW()))
就能强制自动更新
至于rng1和rng2,楼主试试用range的方式,也就是set rng1=range(xxxxxx)

热心网友 时间:2023-06-24 15:49

=SUMPRODUCT(B1:B7,C1:C7) 这个可以满足吧

平均算法

Public Function AVERAGEx(x As Range, y As Range)
Dim m
For i = 0 To x.Count - 1
If Cells(y.Row + i, y.Column).Value <> 0 Then
m = m + Cells(x.Row + i, x.Column).Value
End If
Next
AVERAGEx = m
End Function
这是自定义函数,试试吧
求采纳为满意回答。追问横向数组和纵向数组的乘积求和,SUMPRODUCT 好像不行

额。。没明白这串代码请加上标注

热心网友 时间:2023-06-24 15:50

ActiveSheet.Calculate 加个重算活动工作表看看,你这个可能还是rng变量的作用范围设立的有问题,或者加个T(now())
=value(pbs(rng)&T(now()),只要工作表有改动 公式就重算一次追问试过了

如果是rng1 和rng2 是输入变量就没有问题(如MMULT本身)

就是因为rng1 和rng2是由rng 决定的,所以会出现错误。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com