乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎么在<em>Excel</em>中创建<em>自定义函数</em>-e

怎么在<em>Excel</em>中创建<em>自定义函数</em>-e

作者:乔山办公网日期:

返回目录:excel表格制作


只能 单元格,然后转数组。如下 

Function MyTest(rng As Range)
    Dim arr() As Variant
   Set arr = rng.Value
    MyTest = UBound(arr)
End Function


举例说明。

例如要做一个单元格求和的自定义函数,zhidao比sum函数增加一个条件,就是如果单元格有删除线标记,则不计入该单元格的数值。如图:

第一步:在visual basic模式下插入模块,并创建自定义函数。代码如下:

Public Function mysum(qu As Range)
Dim s As Double
Dim b
mysum = 0
For Each b In qu
If b.Font.Strikethrough = False Then
   mysum = mysum + b.Value
End If
Next
End Function

第二步:在c15单元格输入公式:=mysum(C4:C14)。结果如图:


比如A列
=lookup(1,0/(a1:a100<>""),row(1:100))
返回A1:A100最后一个不为空的单元格所在的行号
---
如果是返回值,则公式改成:
=lookup(1,0/(a1:a100<>""),a1:a100)

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

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网