赞
踩
一个简单的教程,实现VBA自定义函数。
新建模块
复制后面的代码放进来
函数的入口参数不定义,则认为是一块区域;
反之,如FindChar1 As String,则认为是输入的单值。
循环和分支如下例子,VB比较接近自然语言,英语有功底的话,写起来还是比较舒服的。
Function xiu_xi(FindArea) Dim flag As String flag = " " Dim N2 As Integer N2 = 0 For i = 2 To FindArea.Columns.Count If Trim(FindArea.Cells(1, i)) = "" And Trim(FindArea.Cells(1, i - 1)) = "" Then N2 = N2 + 1 If N2 >= 6 Then flag = "X" Exit For End If Else N2 = 0 End If Next i xiu_xi = flag End Function
以下实现的是一个双条件的查找,用VLOOKUP则需要先连接起来
Function TQ_MultiVLookup(FindChar1 As String, FindChar2 As String, FindArea)
Dim n As Integer
n = FindArea.Columns.Count
For i = 1 To FindArea.Rows.Count
If FindChar1 = FindArea.Cells(i, 1) And FindChar2 = FindArea.Cells(i, 2) Then
TQ_MultiVLookup = FindArea.Cells(i, n)
Exit For
End If
Next i
End Function
回到Excel的页面,使用函数时,会有刚才自己加的函数。
注意:要保存到自定义函数,需要使用.xlsm格式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。