分享

VBA自定义函数vlookup查找多个sheet表

 玉郡书屋 2015-08-28
Public Function iFun(c As Range, n As Integer, ParamArray a() As Variant) '定义一个函数iFun() '()内是参数列表,见上面的说明 Application.Volatile '将函数定义为易失性函数(当参数的值改动时,自动重算) On Error GoTo 100 '发生错误时,跳到行 100处,执行最后一句 Dim i As Integer, t As Range, tt As Boolean '定义 个变量 i = a(LBound(a)).Columns.Count '取得第一个工作表区域的列的数量 If i < n Then iFun = "#错误n": Exit Function '如果列数小于参数n,报错"#错误n"并退出 For i = LBound(a) To UBound(a) '循环每个参数a(每个工作表区域) Set t = a(i).Columns(1).Find(c.Value, , xlValues, xlWhole) '在每个工作表区域中,查找 第一个参数c的值,赋值给t变量 If Not (t Is Nothing) Then tt = True: Exit For '如果找到了,就退出 Next '没有找到就继续找,直到循环完毕 If tt Then iFun = t.Offset(0, n - 1).Value Else iFun = "#N/A" '循环完毕后,判断是否找到, '如果找到,就取得同行的后面列的值, '如果没找到,返回结果"#N/A" Exit Function '如果程序没有出错,正常退出 100: '行 iFun = "#错误0" '错误时,跳到此处,返回并报错"#错误0" End Function ------------  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多