Vba:“如果单元格包含”的简单公式


您可以使用以下基本语法在 VBA 中使用“如果单元格包含”的公式:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

此特定示例检查范围A2:A8中的每个单元格是否包含“海龟”,然后将“包含海龟”或“不包含海龟”分配给范围B2:B8中的每个匹配单元格。

注意Instr方法检查一个字符串是否包含另一个字符串, LCase方法将文本转换为小写以执行不区分大小写的搜索。

以下示例展示了如何在实践中使用此语法。

示例:如何在 VBA 中使用“如果单元格包含”

假设我们在 Excel 中有以下单元格列表,每个单元格包含不同的文本:

假设我们要检查范围A2:A8中的每个单元格是否包含文本“turtle”,并将结果显示在范围B2:B8中的相应单元格中。

我们可以创建以下宏来执行此操作:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

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

B 列告诉我们 A 列中的相应单元格是否在文本中的某处包含“turtle”。

注意:您可以在此处找到 VBA Instr方法的完整文档。

其他资源

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

VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串

添加评论

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