如何在 vba 中比较字符串:带有示例


您可以在 VBA 中使用以下方法来比较字符串:

方法一:比较区分大小写的字符串

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

该宏将对范围A2:A10B2:B10中的匹配单元格中的字符串执行区分大小写的字符串比较,并在范围C2:C10中返回 TRUE 或 FALSE 以指示字符串是否相等。

方法二:不区分大小写的字符串比较

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

该宏将在A2:A10B2:B10范围内的匹配单元格中的字符串之间执行不区分大小写的字符串比较。

以下示例展示了如何在实践中使用 Excel 中的以下字符串列表来使用每种方法:

示例 1:比较 VBA 中区分大小写的字符串

我们可以创建以下宏来在 A 列和 B 列中的每个匹配字符串之间执行区分大小写的字符串比较:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i)) = 0
    Next i
End Sub

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

在 VBA 中比较区分大小写的字符串

如果字符串相等且大小写相同,则 C 列返回TRUE

否则,C 列返回FALSE

示例 2:在 VBA 中比较不区分大小写的字符串

我们可以创建以下宏来在 A 列和 B 列中的每个匹配字符串之间执行不区分大小写的字符串比较:

 SubCompareStrings ()
    Dim i As Integer

    For i = 2 To 10
        Range(" C " & i) = StrComp(Range(" A " & i), Range(" B " & i), vbTextCompare) = 0
    Next i
End Sub

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

VBA 中不区分大小写的字符串比较

如果字符串相等(无论大小写),C 列将返回TRUE

仅当字符串不相等时,C 列才返回FALSE

注意:您可以在此处找到 VBA 中StrComp函数的完整文档。

其他资源

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

VBA:如何替换字符串中的字符
VBA:如何从字符串中删除特殊字符
VBA:如何将字符串转换为int

添加评论

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