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 执行其他常见任务: