迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Vba >

在 VBA 中比较字符串

作者:迹忆客 最近更新:2023/03/19 浏览次数:

我们将介绍如何在 VBA 中使用不同的方法比较字符串。

比较 VBA 中的字符串

在使用 excel 工作表时,在某些情况下,我们必须比较字符串并希望得到哪个字符串小于或大于另一个字符串的结果。VBA 为此提供了一个完美的方法,称为 StrComp(),它比较两个字符串以获得数值结果。

如果我们比较的两个字符串相等,则此方法将返回 0。如果第一个字符串小于另一个字符串,我们将获得 -1 作为返回值。

如果第一个输入字符串大于另一个字符串,我们将得到值 1 作为结果。如果用户输入字符串之一是 empty,则返回值将是 Null

StrComp() 方法使用了三种比较方法,但只有两种最常用,我们将讨论这两种方法。如果我们想比较两个字符串的二进制,我们可以使用 vbBinaryCompare,这个方法是区分大小写的。

如果我们想比较两个字符串的文本,我们可以使用 vbTextCompare,一种不区分大小写的方法。让我们举个例子,比较两个字符串。

代码:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World"

compare = StrComp(stringOne, stringTwo)

MsgBox compare

End Sub

输出:

使用 StrComp 方法比较 VBA 中的字符串

在上面的示例中,我们传递了与我们得到的相同的字符串 0 作为返回值。让我们传递不同的值并检查我们得到的返回值。

代码:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World!"

compare = StrComp(stringOne, stringTwo)

MsgBox compare

End Sub

输出:

使用 StrComp 方法比较 VBA 中的字符串并提供不同的值

从上面的代码中,我们将不同的字符串传递给我们得到 -1 的长度作为返回值,因为第二个字符串大于第一个。让我们尝试 StrComp() 中的字符串比较方法,并检查如果我们使用相同的字符串但大小写不同并使用 vbTextCompare 方法,结果有何不同。

代码:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello WorLd"

compare = StrComp(stringOne, stringTwo, vbTextCompare)

MsgBox compare

End Sub

输出:

使用 StrComp 方法和使用 vbTextCompare 比较 VBA 中的字符串

现在,我们在示例中通过添加一个额外的空格来使用 vbBinaryCompare 方法。

代码:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello  World"

compare = StrComp(stringOne, stringTwo, vbBinaryCompare)

MsgBox compare

End Sub

输出:

使用 StrComp 方法和使用 vbBinaryCompare 比较 VBA 中的字符串

这样,我们可以使用 StrComp() 方法和内置方法(例如 vbTextComparevbBinaryCompare)根据长度或文本比较两个字符串。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 VBA 中计算列数

发布时间:2023/03/19 浏览次数:103 分类:Vba

本教程演示如何计算 VBA 中的列数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便