You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在VBA函数中用单元格替代数组参数?IsInArray2函数调用方法

在Excel工作表中调用IsInArray2函数的方法

一、先确保函数已正确导入

  1. 打开Excel,按下Alt+F11进入VBA编辑器
  2. 右键点击左侧项目窗口中的工作簿名称,选择「插入」→「模块」
  3. 将你提供的IsInArray2函数代码粘贴到模块中,保存工作簿为启用宏的格式(.xlsm 或 .xlsb)

二、工作表中的调用方式

直接在目标单元格输入公式,语法如下:

=IsInArray2(单个单元格引用, 目标单元格区域)

举个例子:

  • 要检查A1单元格的内容是否包含B1:B5区域中任意一个子串,输入:
    =IsInArray2(A1, B1:B5)
    

公式会返回TRUE(匹配到子串)或FALSE(未匹配到)。

三、额外注意事项

  • 函数默认忽略大小写:因为代码中用了LCase转换,所以"Apple"和"apple"会被视为匹配
  • 若要排除区域中的空白单元格,可以修改函数代码,在判断条件中增加空值检查:
    Function IsInArray2(StringToBeFound As String, MyArray As Variant) As Boolean
    IsInArray2 = False
    For i = LBound(MyArray) To UBound(MyArray)
        ' 新增空值判断,跳过空白单元格
        If MyArray(i) <> "" And LCase(StringToBeFound) Like LCase("*" & MyArray(i) & "*") Then
            IsInArray2 = True
            Exit Function
        End If
    Next
    End Function
    
  • 必须启用宏:如果工作簿宏被禁用,函数会返回#NAME?错误

内容的提问来源于stack exchange,提问作者Pedro Sousa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:36:17