Vba:如何检查一个字符串是否包含另一个字符串


您可以使用 VBA 中的Instr()函数来检查一个字符串是否包含另一个字符串。

该函数使用以下基本语法:

指令(开始,字符串1,字符串2,…)

金子:

  • start : 搜索的起始位置
  • string1 :要搜索的字符串
  • string2 :您要查找的字符串

下面的例子展示了如何在实际中使用这个功能。

示例:使用VBA检查字符串是否包含另一个字符串

假设我们在 Excel 中有以下数据集,其中包含有关各个篮球队的信息:

现在假设我们要检查 Team 列中的每个字符串是否在字符串中的某处包含“avs”。

我们可以在 VBA 中使用以下语法来检查 Team 列中的每个字符串是否包含“avs”,如果是,则返回 D 列和 E 列中的整行:

 Sub StringContains()
Dim i As Integer , i_num As Integer

For i = 2 To 9
    If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then
        i_num = i_num + 1
        Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value
    End If
Next i
End Sub

当我们运行这个宏时,我们会收到以下输出:

请注意,Team 列中某处包含字符串“avs”的每一行都会在 D 列和 E 列中返回。

在此示例中,只有两支球队(小牛队和骑士队)的球队列中包含“avs”。

要搜索不同的字符串,只需将上面代码中的“avs”替换为您选择的字符串即可。

注意#1:在代码中,我们使用了For i = 2 到 9 ,因为单元格 A2 到 A9 包含我们感兴趣的字符串。您可以根据您要查找的单元格范围随意更改此范围。

注意#2 :您可以在此处找到 VBA 中Instr()函数的完整文档。

其他资源

以下教程说明如何使用 VBA 执行其他常见任务:

VBA:如何计算字符串中字符的出现次数
VBA:如何计算范围内的行数
VBA:如何计算范围的平均值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注