EXCEL公式或宏来搜索“世界”字符串但它不应该计入“全球”字符串

时间:2016-06-28 07:39:50

标签: excel-vba excel-formula vba excel

数据列表,结果应包含“世界”字样,但不应提供“全球”字样。结果不应该将搜索键作为子字符串

1 个答案:

答案 0 :(得分:0)

我想你想要计算包含特定单词的范围内的单元格数。您可以使用用户定义的功能 在VBA编辑器中,转到“插入”菜单,选择“模块”并添加以下代码。

Function CountWord(searchStr As String, rng As Range) As Long
    Dim count As Long
    Dim arr() As String
    count = 0
    For Each cel In rng
        If Not cel Is Nothing Then
            arr = Split(cel.Value, " ")
            For i = LBound(arr) To UBound(arr)
                If StrComp(arr(i), searchStr, vbTextCompare) = 0 Then
                    count = count + 1
                    Exit For
                End If
            Next i
        End If
    Next
    CountWord = count
End Function

enter image description here

注意:上面的函数将计算包含指定单词的单元格数,即如果指定单词在单元格中出现多次,它仍将被计为1.如果要计算出现次数在某个范围内的某个字词,然后只需删除Exit For条件中的If