欢迎光临散文网 会员登陆 & 注册

ExcelVBA 写自定义函数

2023-10-30 06:41 作者:孙兴华zz  | 我要投稿

网友提问:

放大图片

回答网友问题:

我举个例子,sub过程就好比一个知识我学会了,funciton函数就好比我把学会的知识写成一个通用的代码供大家使用。肯定后者难,所以你要先会写前者,才能去研究后者。

我们以你这张表为例

我先写一个过程

Sub shishi()
Set 范围 = Range("A1:A3")
For Each 单元格 In 范围
    If 单元格.Value = "a" Then
        i = i + 1
        If i = 3 Then
            Debug.Print 单元格.Offset(0, 1).Value
            Exit For
        End If
    End If
Next
End Sub

然后再写函数  因为你传进来的  A1:A3 他不是字符串,他是单元格范围

所以我们要用 [A1:A3]   或  [D1] 来表示 单元格

像 range("A1:A3")  和 range("D1")  里面传递的是字符串,当然也可以,只是你将来使用函数时,要给它们加双引号,相对麻烦一些。

Function 孙兴华(查什么, 在哪里查, 返回什么, 第几次出现)

Set 范围 = [在哪里查]
For Each 单元格 In 范围
    If 单元格.Value = [查什么].Value Then
        i = i + 1
        If i = 第几次出现 Then
            孙兴华 = 单元格.Offset(0, 返回什么).Value
            Exit For
        End If
    End If
Next

End Function

然后我们到工作表中使用函数

切记!这个逻辑

因为:要先自己学会,才能帮助别人

所以:要先会写sub,才会写function

ExcelVBA:  https://www.bilibili.com/video/BV1rt4y1a72y

ExcelVBA 写自定义函数的评论 (共 条)

分享到微博请遵守国家法律