首页 > 解决方案 > VBA,使用用户定义的函数从范围中查找单词

问题描述

如果我有一个重要单词列表,然后是一个文本/评论字段。我想在该字段中搜索任何重要的单词(整个单词,而不仅仅是字符串)

即如果重要的词是“猫”,我不希望“类别”或“scatman”返回一个积极的。

这是到目前为止的功能

Function RangeFunc(rng As Range, funct As String) As String
Dim c As Range
Dim cnt As Integer
cnt = 0

For Each c In rng.Cells
    'If c.Text = funct Then
    If InStr(c.Text, " "&funct&" ") > 0 Then

        cnt = cnt + 1

    End If
Next c
RangeFunc = cnt

结束功能

IT 似乎没有返回单个字数

标签: vbauser-defined-functions

解决方案


您可以使用两个范围来执行此操作,一个用于列表检查,一个用于要查找的项目,因此在 A1:A3 中检查列表和在 C1:C3 中检查列表,我使用

=SUM(--($A$1:$A$3=$C$1:$C$3))

这是一个数组公式,因此需要按 ctrl shift 和 enter 将其输入到单元格中。

你可以做

application.Evaluate("=SUM(--($A$1:$A$3=$C$1:$C$3))")

在 VBA 中关闭这个。


推荐阅读